가변 길이 문자열의 끝 제거모두들 안녕,
Character, Nominal 형식의 가변 길이 문자열을 포함하는 :Protocol 열이 있습니다. 아래에 몇 가지 예를 추가했습니다. 열에서 문자열의 마지막 4자를 제거하고 나머지는 모두 유지하려고 합니다. 마지막 4자는 항상 -001, -002, -003 또는 -004 중 하나입니다. Word() 및 Substr()을 사용하여 이 작업을 수행하려고 시도했지만 작동하지 않습니다.
규약
AAA-BB-1234-19 -001
AAAA-B-18 -002
AA-BBB-123-18- 003
AA-B-CC-1001-19- 002
이것이 내가 그 4개의 행에 대한 열의 모양을 원하는 것입니다.
규약
AAA-BB-1234-19
AAAA-B-18
AA-BBB-123-18
AA-B-CC-1001-19
다음과 같이 Word() 함수를 사용하여 이 작업을 수행하려고 했습니다.
For Each Row(
:Protocol = Word(1, :Protocol, "00")
);
고급 통계 모델링소비자 및 시장 조사대량 맞춤화Re: 가변 길이 문자열의 끝 부분을 제거합니다.감사합니다. 귀하의 솔루션을 시도했는데 완벽하게 작동했습니다.Re: 가변 길이 문자열의 끝 부분을 제거합니다.Left() 함수를 사용하는 것도 생각했습니다. 내 테이크는 다음과 같습니다.
Names Default to Here( 1 );
string = "AAA-BB-1234-19-001";
Left( string, Contains( string, "00") - 2 );
도움말 > 스크립팅 인덱스를 선택하고 함수 > 문자를 선택하는 것이 좋습니다. 문자열 조작을 위한 내장 지원이 많이 있습니다.
Re: 가변 길이 문자열의 끝 부분을 제거합니다.나는 동의한다 @David_Burnham , 왼쪽을 사용하여 직접 결과를 얻을 수 있습니다. 정말 단어를 사용하고 싶다면 아래를 참조할 수 있습니다(첨부 파일에 데이터 테이블도 첨부했습니다).
Names Default To Here( 1 );
Clear Log();
dt = Current Data Table();
new_col = dt << New Column( "Trimmed Protocol",
character,
formula( Word( [1 -2], :Protocol, "-" ) )
);
Re: 가변 길이 문자열의 끝 부분을 제거합니다.Left(:Protocol, Length(:Protocol) - 4) 같은 것Re: 가변 길이 문자열의 끝 제거// 파일 경로에서 파일 이름을 제거하는 것과 비슷한 문제가 있었습니다.
이름은 여기(1)에 기본으로 지정됩니다.
dt = 현재 데이터 테이블();
현재 파일 = dt << 경로 가져오기();
현재 디렉토리 = Word([1 -2], 현재 파일, "\");
// 마지막 단어([1 -2])를 제외한 전체 문자열([1 -1])을 반환합니다.
데이터 = 파일 선택(
"데이터 파일 선택"
현재 디렉토리,
{"Excel|csv","JMP 파일|jmp;jsl;jrn","모든 파일|*"},
1,
0,
"", 다수의
);