我們如何在特定字元長度大於標準形式的列表之一的字串中添加空格?舉個例子;
字元第 1 列第 1 行:asd 123 度吉克勒吉薩克勒吉克 1124
如果單元格值中任何單字的長度大於“5”,我想在第三個字元上有一個空格。
理想的形式如下
字元第 1 列第 1 行:asd 123 deg jkl djsakldjlk 1124
謝謝,
進階統計建模品質和工藝工程回复:我們如何在特定字符長度大於標準格式的列表之一的字符串中添加空格?我不確定您是交互式解決方案、公式解決方案還是腳本解決方案。 Cols > Recode 命令提供了一個豐富的工具來更改列中的值。 查看重新編碼的示例和說明這裡.
回复:我們如何在特定字符長度大於標準格式的列表之一的字符串中添加空格?這是一種做你想做的事情的方法
Names Default To Here( 1 );
dt = Current Data Table();
For Each Row(
holdString = "";
wordNum = 1;
While( Word( wordNum, :column 1, " " ) != "",
theWord = Word( wordNum, :column 1, " " );
If( Length( theWord ) > 5,
theWord = Substr( theWord, 1, 3 ) || " " || Substr( theWord, 4 )
);
holdString = holdString || " " || theWord;
wordNum++;
);
:Column 1 = Trim( holdString );
回复:我們如何在特定字符長度大於標準格式的列表之一的字符串中添加空格?一種方法是使用正則表達式。
這可能有效:
Names Default To Here(1);
line = "asd 123 deg jkldjsakldjlk 1124";
span_line = Regex(line, "([a-zA-Z0-9]{3})([a-zA-Z0-9]{3,})", "\1 \2", GLOBALREPLACE);
show(span_line == "asd 123 deg jkl djsakldjlk 1124");
line = "1 22 333 4444 55555 666666 7777777 88888888 999999999 0000000000";
span_line = Regex(line, "([a-zA-Z0-9]{3})([a-zA-Z0-9]{3,})", "\1 \2", GLOBALREPLACE);
show(span_line);https://regex101.com/r/CuxFKx/1