特定の文字の長さが標準形式より大きいリストの 1 つの文字列内に空白を追加するにはどうすればよいですか?例えば;
文字列#1、行#1: asd 123 deg jkldjsakldjlk 1124
セル値内のいずれかの単語の長さが「5」より大きい場合は、3 番目の文字に空白を入れます。
理想的な形は以下のとおりです
文字列#1、行#1: asd 123 deg jkl djsakldjlk 1124
ありがとう、
高度な統計モデリング品質およびプロセスエンジニアリングRe: 標準形式よりも長い特定の文字長のリストの 1 つの文字列内に空白を追加するにはどうすればよいですか?インタラクティブ、数式、またはスクリプト ソリューションのいずれであるかはわかりません。 [列] > [再コード化] コマンドは、列の値を変更するための豊富なツールを提供します。 Recode の例と手順を参照してくださいここ.
Re: 標準形式よりも長い特定の文字長のリストの 1 つの文字列内に空白を追加するにはどうすればよいですか?これがあなたが望むことをする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 );
Re: 標準形式よりも長い特定の文字長のリストの 1 つの文字列内に空白を追加するにはどうすればよいですか?1 つの方法は、正規表現を使用することです。
これはうまくいくかもしれません:
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