표준 형식보다 특정 문자 길이가 긴 목록 중 하나에 있는 문자열에 공백을 어떻게 추가합니까?예를 들어;
행 #1의 문자 열 #1: asd 123 deg jkldjsakldjlk 1124
셀 값 내의 단어 중 하나의 길이가 "5"보다 큰 경우, 세 번째 문자에 공백을 넣고 싶습니다.
이상적인 형태는 아래와 같습니다.
행 #1의 문자 열 #1: asd 123 deg jkl djsakldjlk 1124
감사해요,
고급 통계 모델링품질 및 공정 엔지니어링Re: 특정 문자 길이가 표준 형식보다 큰 목록 중 하나의 문자열 내에 공백을 어떻게 추가합니까?대화식인지, 공식인지, 스크립트 솔루션인지 잘 모르겠습니다. Cols > Recode 명령은 열의 값을 변경하기 위한 풍부한 도구를 제공합니다. Recode에 대한 예제 및 지침 보기 여기 .
Re: 특정 문자 길이가 표준 형식보다 큰 목록 중 하나의 문자열 내에 공백을 어떻게 추가합니까?다음은 원하는 작업을 수행하는 한 가지 방법입니다.
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: 특정 문자 길이가 표준 형식보다 큰 목록 중 하나의 문자열 내에 공백을 어떻게 추가합니까?한 가지 방법은 Regex를 사용하는 것입니다.
다음과 같이 작동할 수 있습니다.
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