我们如何在特定字符长度大于标准格式的列表之一的字符串中添加空格?举个例子;
第 1 行的第 1 列字符:asd 123 度jkldjsakldjlk 1124
如果单元格值中任何单词的长度大于“5”,我希望第三个字符上有一个空格。
理想的形式如下
第 1 行的第 1 列字符:asd 123 度jkl djsakldjlk 1124
谢谢,
数据表脚本编写回复:我们如何在特定字符长度大于标准格式的列表之一的字符串中添加空格?一种方法是使用正则表达式。
这可能有效:
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
回复:我们如何在特定字符长度大于标准格式的列表之一中的字符串中添加空格?这是做你想做的一种方式
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 );
回复:我们如何在特定字符长度大于标准格式的列表之一的字符串中添加空格?我不确定您是交互式解决方案、公式解决方案还是脚本解决方案。 Cols > Recode 命令为更改列中的值提供了丰富的工具。 查看重新编码的示例和说明这里.