문자열 열에서 텍스트 추출안녕하세요,
저는 JMP 스크립팅에 있어서는 약간 초보이고, 문자열에서 특정 숫자를 추출하고 각 숫자에 대해 새 열을 만들 수 있는 스크립트를 작성하려고 합니다. 각 숫자는 항상 'DX' 또는 'DY' 문자 뒤에 옵니다. 예를 들어:
D113U_NTCH_CM_MEAS_CD_SEM_{2UM_X6_NTCH_CM_IMAGE}_DX7DY11SDX11SDY15_2024-12-06_18-57-42.jpg
다음 열을 추출하여 만들고 싶습니다.

물론, 저는 이 과정을 전체 데이터 열에 걸쳐 반복하고 싶습니다. 조언을 주시면 감사하겠습니다. 감사합니다!
자동화 및 스크립팅Re: 문자열 열에서 텍스트 추출모든 가능한 패턴(DX, DY, ....)을 미리 알고 있나요? 항상 같은 위치(}_ 뒤, date 앞)에 있나요?
Re: 문자열 열에서 텍스트 추출만약 내가 그 파일 이름으로 가득 찬 열이 있다면, 나는 Cols -> Recode, 왼쪽 위 빨간색 삼각형 -> "문자열 바꾸기"를 한 다음, "S?D[XY](\d+)"를 입력하고 "정규 표현식 사용"을 켠 상태에서 "%\1%"로 바꿀 것입니다. 그런 다음 열을 분할할 수 있습니다(Cols -> Utilities -> Text to Columns...") 그리고 "%"를 입력하면 접두사, DX, DY, SDX, SDY, 접미사가 있는 6개의 새 열이 생깁니다. 예:
| 열 1 2 | 열 1 3 | 열 1 4 | 열 1 5 | 열 1 6 | 열 1 7 |
| D113U_NTCH_CM_측정_CD_SEM_{2UM_X6_NTCH_CM_이미지}_ | 7 | 11 | 11 | 15 | _2024-12-06_18-57-42.jpg |
그런 다음 열의 이름을 DX, DY 등으로 바꿀 수 있습니다.
실제 데이터가 더 복잡하다면 이 과정도 조금 더 복잡해야 할 수 있습니다.
Re: 문자열 열에서 텍스트 추출멋진 : )
아마도 다음으로 시작해야 할 것 같다
word(8, filename,"_")
DX11A 에도 잘 작동합니다.
Re: 문자열 열에서 텍스트 추출도움이 되었습니다. 도움을 주셔서 정말 감사합니다.
더 보기...JMP에서 문자열 열에서 텍스트를 추출하려면 수식이나 스크립트를 사용할 수 있습니다. 일반적인 방법으로는 패턴 매칭을 위한 정규 표현식이나 특정 텍스트를 분리하기 위한 하위 문자열 함수가 있습니다. **Regex()** 함수는 복잡한 패턴에 다재다능한 반면, 더 간단한 추출은 **Left(), Right(),** 또는 **Substring()** 함수를 효과적으로 활용할 수 있습니다. 특히 어려운 학기에
https://canadianwritings.com/을 우연히 발견했는데, 정말 생명의 은인이 되었습니다. 현대 문학에 대한 에세이에 도움이 필요했고, 이 서비스는 잘 조사되고 완벽하게 구성된 논문을 제공했습니다. 작가는 제 지시를 철저히 따랐고, 최종 결과는 인상적이었습니다. 게다가, 그들은 마감일 전에 에세이를 전달해 주어서 제출하기 전에 제대로 검토할 시간을 벌 수 있었습니다.
Re: 문자열 열에서 텍스트 추출대안적인 접근 방식은 다음과 같습니다.
데이터 테이블이 주어지면

아래 스크립트는 직접 생성합니다.

Names Default To Here( 1 );
// Create and example data table
dt = New Table( "Example",
Add Rows( 1 ),
New Column( "File",
Character,
"Nominal",
Set Values(
{
"D113U_NTCH_CM_MEAS_CD_SEM_{2UM_X6_NTCH_CM_IMAGE}_DX7DY11SDX11SDY15_2024-12-06_18-57-42.jpg"
}
)
)
);
// Add the new columns to the data table
dt << New Column( "DX" );
dt << New Column( "DY" );
dt << New Column( "SDX" );
dt << New Column( "SDY" );
For Each Row(
// Separate the section of the File name into just the DX,DY,SDX,SDY part
string = Word( 1, Substr( :file, Contains( :file, "_DX" ) + 1 ), "_" );
// Change the string into a assignment statements
Substitute Into( string, "SDX", ";:SD_X=", "SDY", ";:SD_Y=", "DX", ";:D_X=", "DY", ";:D_Y=", "_", "" );
string = Substr( string, 2 ) || ";";
// Execute the assignment statements
Eval( Parse( string ) );
);