문자열 파싱 질문친애하는 커뮤니티 여러분,
1셀에 식별정보가 포함된 데이터를 받고 있습니다.
Names Default to Here(1);
dt = New Table("Sample",
add rows(2),
New Column( "Field_9630", Character, "Nominal" )
);
dt:Field_9630 << Set Values({"Customer: Mr A LoyalProduct: Cabinet HardwareRegion: Suburban New Dev", "Customer: Jenifer B Ashley LeighProduct: LumberRegion: Suburban Existing"});목표는 고객, 제품, 지역의 세 가지 열을 생성하는 것입니다.
dt2 = New Table( "Sample 2",
Add Rows( 2 ),
New Column( "Field_9630",
Character,
"Nominal",
Set Selected,
Set Values(
{"Customer: Mr A LoyalProduct: Cabinet HardwareRegion: Suburban New Dev",
"Customer: Jenifer B Ashley LeighProduct: LumberRegion: Suburban Existing"
}
),
Set Display Width( 132 )
),
New Column( "Customer",
Character,
"Nominal",
Set Values( {"Mr A Loyal", "Jenifer B Ashley Leigh"} )
),
New Column( "Product",
Character,
"Nominal",
Set Values( {"Cabinet Hardware", "Lumber"} )
),
New Column( "Region",
Character,
"Nominal",
Set Values( {"Suburban New Dev", "Suburban Existing"} )
)
);미리 감사드립니다!
감사합니다,
MG
자동화 및 스크립팅데이터 혼합 및 정리Re: 문자열 분석 질문안녕,
명확한 구분 기호가 없으면 문자열을 구문 분석하는 것이 항상 어렵습니다.
입력 문자열에 항상 키워드 "고객:", "제품:" 및 "지역:"이 포함된다고 가정하면 아래 접근 방식을 사용할 수 있습니다.
- SUBSTITUTE() 함수를 사용하여 키워드를 ","로 바꿉니다.
- WORD() 함수를 사용하여 관련 정보를 구문 분석합니다.
- TRIM() 함수를 사용하여 결과 문자열을 정리합니다.
New Table( "Sample_PARSED",
Add Rows( 2 ),
New Column( "Field_9630",
Character,
"Nominal",
Set Values(
{"Customer: Mr A LoyalProduct: Cabinet HardwareRegion: Suburban New Dev",
"Customer: Jenifer B Ashley LeighProduct: LumberRegion: Suburban Existing"
}
),
Set Display Width( 726 )
),
New Column( "TEMP",
Character,
"Nominal",
Formula(
Substitute( :Field_9630,
"Customer:", ",",
"Product:", ",",
"Region:", ","
)
)
),
New Column( "Column 2",
Character,
"Nominal",
Formula( Trim( Word( 1, :TEMP, "," ) ) ),
Set Display Width( 157 )
),
New Column( "Column 3",
Character,
"Nominal",
Formula( Trim( Word( 2, :TEMP, "," ) ) )
),
New Column( "Column 4",
Character,
"Nominal",
Formula( Trim( Word( 3, :TEMP, "," ) ) ),
Set Display Width( 200 )
)
)
도움이 되었으면 좋겠습니다.
최상의,
TS
Re: 문자열 분석 질문@Thierry_S 빠른 답변과 솔루션에 감사드립니다. 매우 감사!