문자열의 다양성에서 하위 문자열 검색실패라는 이름의 열이 있는데, 여기에는 모든 종류의 문자열이 들어 있습니다. 저는 "ex"로 시작하는 오류 코드를 검색하고 싶습니다. 오류 코드는 "ex"로 시작하는 10자 문자열입니다. 그리고 "첫 번째 코드" 열에 첫 번째 오류 코드를 넣고, "모든 코드" 열에 모든 오류 코드를 넣습니다. 두 열에 어떤 공식이 설정되어 있습니까? 다시 귀찮게 해서 죄송합니다. 먼저 작업을 빨리 끝내야 하고, 그런 다음 JMP 도움말 문서를 배우는 데 시간을 할애해야 합니다.

기본 데이터 분석 및 모델링Re: 문자열의 다양성에서 하위 문자열 검색이 게시물은 구조화되지 않은 문자열에서 실패 부분 코드를 추출하는 데 도움이 될 수 있습니다.
Re: 문자열의 다양성에서 하위 문자열 검색다음은 이 2개의 열을 만드는 한 가지 방법입니다.
:fst 코드에 대한 공식
start = contains(:Failure,"0x");
if(start>0,substr(:Failure,start,start+10),"");
공식 : 모든 코드
theCodes = {};;
theString = :Failure;
While( Contains( theString, "0x" ) > 0,
start = Contains( theString, "0x" );
Insert Into( theCodes, Substr( theString, start, start + 10 ) );
theString = Substr( theString, start + 10 );
);
concat items(theCodes, ",");Re: 문자열의 다양성에서 하위 문자열 검색정말 시기적절한 도움에 감사드립니다. 공식을 사용하면 오류 코드가 선택되지만 다른 문자도 표시됩니다. left()를 사용하여 해결했지만 다른 문자가 왜 저기에 표시되는지 알고 싶습니다.

Re: 문자열의 다양성에서 하위 문자열 검색문제를 디버깅하는 데 사용할 데이터 테이블이 없으므로 문제가 무엇인지 잘 모르겠습니다. 이 수정을 시도하고 더 잘 작동하는지 확인하세요.
start = contains(:Failure,"0x");
x="";
if(start>0,x=substr(:Failure,start,start+10),"");
x;
Re: 문자열의 다양성에서 하위 문자열 검색@txnelson 주제에 대한 시간 내주셔서 감사합니다. 다시 시도했지만 여전히 실패합니다. 여기 디버그를 위한 데이터 테이블이 있습니다.
Re: 문자열의 다양성에서 하위 문자열 검색내 오류,
Substr 요소의 길이는 Start+10이 아니라 Start여야 합니다.
첫 번째 코드
start = Contains( :Failure, "0x" );
If( start > 0,
Substr( :Failure, start, 10 ),
""
);
모든 코드
theCodes = {};
theString = :Failure;
While( Contains( theString, "0x" ) > 0,
start = Contains( theString, "0x" );
Insert Into( theCodes, Substr( theString, start, 10 ) );
theString = Substr( theString, start + 10 );
);
Concat Items( theCodes, "," );Re: 문자열의 다양성에서 하위 문자열 검색정말 감사합니다!
Re: 문자열의 다양성에서 하위 문자열 검색0x로 시작하지만 간단한 오류 코드가 아닌 메시지가 섞여 있을 수 있는 경우 Contains가 작동할 수 있지만, 귀하께서 제공하신 예를 기반으로 볼 때 이는 해당 사례가 아닌 듯합니다(또는 예를 들어 정의한 오류 코드보다 짧은 0x123456이 있는 경우).
만약 이것이 사실로 끝나면, 저는 정규 표현식을 살펴볼 것입니다(짐이 포함을 사용하여 보여준 것처럼 While 루프로 비슷한 아이디어를 사용할 수 있습니다). 하지만 적절한 매칭을 위한 견고한 패턴을 구축하려면 허용된 문자에 대한 좋은 지식이 있어야 합니다.
Re: 문자열의 다양성에서 하위 문자열 검색@jthi 댓글 감사합니다. 저는 Regex를 사용하여 0x로 시작하는 하위 문자열을 검색하려고 합니다. 추천 게시물을 기준으로 " 텍스트 매칭으로 새 열 "에 대한 좋은 아이디어입니다. 오류 코드에 대한 패턴을 어떻게 구축할지 생각하고 있습니다(또는 오류 코드가 10자로 제한되지 않음). Regex에 대한 Backreferences and Capturing Groups의 지침은 관련 JSL을 이해하는 데 도움이 될 수 있지만 JSL을 쓰는 것이 약간 어렵습니다. JSL 예제를 더 많이 읽으면 JSL을 쓰는 법을 더 빨리 배울 수 있을 것 같습니다. 본론으로 돌아와서 오류 코드의 Regex 패턴을 보여 주시겠습니까? 예를 들어 게시물에서는 다음과 같습니다.
failure_pattern = "[A-Z]+\d+[A-Z]?"
Re: 문자열의 다양성에서 하위 문자열 검색제공하신 샘플 데이터 테이블을 기준으로 Regex() 함수를 사용하여 1번째 오류 코드를 추출하는 공식은 다음과 같습니다.
Regex( :Failure, "[A-Z]+\d+[A-Z]?" )
Regex() 함수의 정의와 예는 스크립팅 인덱스에서 찾을 수 있습니다.
Re: 문자열의 다양성에서 하위 문자열 검색JSL에 모든 플래그가 있는 것은 아니지만( Regex: 모든 플래그에 대한 옵션 추가 , 패턴의 모든 겹치지 않는 발생을 찾기 위해 Regex Match()에 플래그 추가 ) 여전히 유사한 패턴을 허용합니다. https://regex101.com/ 과 같은 것을 사용하여 정규식 패턴을 테스트합니다(데이터를 어떤 서버로 보낼지 확실하지 않으면 공유할 수 없는 한 실제 데이터를 사용하지 마세요). 그런 다음 JSL에서 시도하세요. regex101과 같은 웹사이트에서 패턴을 설명합니다.
오류 코드에 대한 적절한 정의가 없어서 시작할 만한 좋은 패턴을 제공할 수 없습니다. 0x로 시작한다는 것만 알고 있지만 허용되는 문자를 알아야 합니다. 허용되는 문자에 대한 순서가 있습니까? 그리고 언제 끝나는지(그리고 길이가 있다면) 결정하는 방법이 있습니까?
Re: 문자열의 다양성에서 하위 문자열 검색오늘 저는 스크립팅 인덱스에서 Regex() 함수의 정의와 예를 읽어보고 ([a-zA-Z])\s([0-9])와 같은 정규식 패턴 구조를 배웠습니다. https://regex101.com/을 사용하여 정규식 패턴을 테스트하는 방법을 공유하는 것이 참 좋습니다.
Regex() 또는 Regex match()는 약간 복잡한 함수입니다. Regex() 사용법을 연습하기 위해 커뮤니티에서 더 많은 예를 찾아야 합니다. 링크를 공유해 주셔서 정말 감사합니다.