如何在特定字符长度大于标准形式的列表之一中的字符串中添加空格?举个例子;
第 1 行第 1 列的字符:asd 123 deg 韋爾德斯卡爾德斯 1124
如果单元格值中任何单词的长度大于“5”,我希望在第三个字符上有一个空格。
理想形式如下
第 1 行第 1 列的字符:asd 123 deg 韓國 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