문자열에서 문자의 위치를 추출하는 방법은 무엇입니까?도트 또는 문자(숫자 및 특수 문자 없음)와 같은 문자 문자열을 포함하는 다음 열이 있습니다.
점이 아닌 문자의 위치를 나열하는 열을 생성하고 싶습니다. 아래 예를 참조하십시오.
JMP에서 사용할 수 있는 공식이나 스크립트가 있습니까??
·cgaagt··a··········· 2,3,4,5,6,7,10
··t·a············c·· 3,5,19
·······
데이터 테이블Re: 문자열에서 문자의 위치를 추출하는 방법은 무엇입니까?확장 @jthi 훌륭한 솔루션입니다. 문제를 처리하는 가장 좋은 방법은 결과를 배치할 새 열을 만드는 것입니다.또한 "."뿐만 아니라 특수 문자로 사용할 수 있습니다.따라서 아래의 JSL은 여러 특수 문자를 처리할 수 있는 수식이며 결과를 새 열에도 반환합니다.문자 열을 만들고 수식을 잘라서 붙여넣기만 하면 됩니다.

list_of_chars = Words( :strings, "" );
Substitute Into( list_of_chars, ".", "", "+", "", "/", "" );
charList = As List( Loc Nonmissing( list_of_chars ) );
Substr( Char( charList ), 2, Length( Char( charList ) ) - 2 );
Re: 문자열에서 문자의 위치를 추출하는 방법은 무엇입니까?나는 당신이 그것을 스크립트해야 할 것이라고 생각합니다.
- 다음을 사용하여 문자열을 목록으로 변환 단어(str, "")
- Substitute를 사용하여 관심 없는 모든 값을 빈 문자열(결측값)로 바꿉니다.
- Loc NonMissing을 사용하여 누락되지 않은 값의 인덱스 찾기
Names Default To Here(1);
a = "·cgaagt··a···········";
b = "··t·a·············c··";
c = "·····················";
list_of_chars = Words(a, "");
Substitute Into(list_of_chars, "·", "");
Show(AsList(Loc Nonmissing(list_of_chars)));
a = "··t·a·············c··";
list_of_chars = Words(a, "");
Substitute Into(list_of_chars, "·", "");
Show(AsList(Loc Nonmissing(list_of_chars)));
a = "·····················";
list_of_chars = Words(a, "");
Substitute Into(list_of_chars, "·", "");
Show(AsList(Loc Nonmissing(list_of_chars)));
//As List(Loc Nonmissing(list_of_chars)) = {2, 3, 4, 5, 6, 7, 10};
//As List(Loc Nonmissing(list_of_chars)) = {3, 5, 19};
//As List(Loc Nonmissing(list_of_chars)) = {};