แยกวิเคราะห์รูปแบบข้อความแปลกๆ

ฉันกำลังพยายามแยกวิเคราะห์ข้อมูลบางส่วนที่ส่งคืนโดยแอปบุคคลที่สาม (ไฟล์ TSV) ฉันมีข้อมูลทั้งหมดแยกวิเคราะห์อย่างเรียบร้อยในแต่ละฟิลด์ (ดู แยกวิเคราะห์ไฟล์ TSV) แต่ฉัน ไม่ทราบวิธีจัดรูปแบบช่องบางช่อง
บางครั้งข้อมูลในช่องจะห่อหุ้มไว้ดังนี้:

=T("[FIELD_DATA]")

(ฉันเชื่อว่านั่นคือการจัดรูปแบบ Excel)
เมื่อสิ่งนั้นเกิดขึ้น ตัวอักษรเฉพาะจะถูกหลีกโดย CHAR(ASCII_NUM) และส่วนที่เหลือของสตริงจะถูกห่อหุ้มเช่นเดียวกับในตัวอย่างข้างต้น โดยไม่มี = ซึ่งปรากฏเฉพาะที่ส่วน จุดเริ่มต้นของสนาม

มีใครทราบบ้างไหมว่าฉันจะแยกวิเคราะห์ฟิลด์ที่มีลักษณะเช่นนี้ได้อย่างไร:

=T("- Merge User Interface of Global Xtra Alert and EMT Alert")&CHAR(10)&T("- Toaster ?!")&CHAR(10)&T("")&CHAR(10)&T("")&CHAR(10)&T("None")&CHAR(10)&T("")&CHAR(10)&T("None")

(กลุ่ม CHAR/T() จำนวนเท่าใดก็ได้)

ฉันกำลังคิดถึง regex หรือการวนซ้ำสตริง แต่ฉันสงสัยในความถูกต้องของสิ่งนี้ ช่วยด้วยมีใครบ้าง?


person Antoine    schedule 10.03.2010    source แหล่งที่มา
comment
ความสนุกที่แท้จริงคือเมื่อคุณมี & หรืออยู่ในสายของคุณ - อาจถูกปกปิดตามกฎของ Excel....   -  person weismat    schedule 10.03.2010


คำตอบ (1)


ฉันจะไปคล้ายกับดาริน แต่ regex ของเขาไม่ได้ผลสำหรับฉัน ฉันจะใช้อันนี้:

(=T|&CHAR|&T)(\("*([A-Za-z?!0-9 -]*)"*\))+

คุณจะพบว่า Groups[2] (อย่าลืมว่าออฟเซ็ตเป็นศูนย์) จะเป็นข้อมูลภายใน () และ "" หากมี "" อยู่ ตัวอย่างเช่นสิ่งนี้จะพบ:

- Merge User Interface of Global Xtra Alert and EMT Alert

in:

=T("- Merge User Interface of Global Xtra Alert and EMT Alert")

และ:

10

in:

&CHAR(10)

ถ้าคุณมี:

&T("")

มันจะสร้างค่าว่างในกลุ่ม[2]

หวังว่านี่จะช่วยได้

person Tim C    schedule 10.03.2010
comment
ยังไม่ได้ทดสอบด้วยการฝัง OR & แต่ดูเหมือนว่าจะได้ผล ขอบคุณ - person Antoine; 12.03.2010