Splitter.SplitTextByDelimiter สร้างฟังก์ชันสำหรับแยกข้อความเป็นรายการโดยใช้ตัวคั่นที่ระบุ มีประโยชน์เมื่อต้องแยก CSV หรือข้อความที่คั่นด้วยตัวอักษรเฉพาะ
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| delimiter | text | ตัวคั่นที่ใช้แยกข้อความ เช่น “,” “;” “|” หรือสตริงใดๆ ที่ต้องการ | |
| [quoteStyle]ไม่บังคับ | nullable number | null | ระบุวิธีจัดการข้อความในเครื่องหมาย เช่น QuoteStyle.Csv (ค่า 1) หรือ QuoteStyle.None (ค่า 0) |
| [csvStyle]ไม่บังคับ | nullable number | null | ระบุวิธีจัดการลักษณะ CSV เฉพาะ เช่น CsvStyle.QuoteAfterDelimiter |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
Splitter.SplitTextByDelimiter(delimiter, [quoteStyle], [csvStyle]) สร้างฟังก์ชันที่แยกข้อความเป็นรายการโดยใช้ตัวคั่นที่ระบุ ต่างจาก Text.Split ตรงที่มันส่งกลับ “ฟังก์ชัน” ซึ่งสามารถใช้หลายครั้งกับข้อมูลต่างๆ ได้ โดยจะคืนค่าเป็นรายการข้อความ (list of text).
จุดเด่นของฟังก์ชันนี้คือสามารถจัดการกับข้อมูล CSV ที่มีเครื่องหมายคำพูดได้อย่างถูกต้อง เช่น “Smith, John” จะยังคงเป็นสมาชิกเดียว ไม่แยกที่เครื่องหมายจุลภาค ด้วยการใช้พารามิเตอร์ quoteStyle.
ส่วนตัวผมใช้ Splitter.SplitTextByDelimiter ร่วมกับ Table.TransformColumns เพื่อแยกข้อมูลในคอลัมน์ทั้งหมด ทำให้โค้ดปึกแผ่นและมีประสิทธิภาพดีเยี่ยมครับ 😎
สร้างฟังก์ชัน splitter สำหรับคอมมา จากนั้นใช้แยกข้อความ
QuoteStyle.Csv ยอมให้ค่าที่อยู่ในเครื่องหมาย "" ประกอบด้วยตัวคั่นได้
สามารถใช้ตัวคั่นแบบหลายอักษร เช่น " | "
ใช้ Splitter กับ TransformColumns เพื่อแยกข้อมูลในคอลัมน์
Splitter.SplitTextByDelimiter ส่งกลับ "ฟังก์ชัน" ที่สามารถนำไปใช้หลายครั้ง ขณะที่ Text.Split ทำการแยกทันที ดังนั้น Splitter จึงมีประสิทธิภาพมากกว่าเมื่อต้องใช้แยกหลายครั้ง
ใช้เมื่อข้อมูล CSV มีค่าบางค่ามีตัวคั่นอยู่ภายใน เช่น "Smith, John" จะไม่ถูกแยกที่เครื่องหมายจุลภาค
ไม่ได้ Splitter.SplitTextByDelimiter ใช้แค่ข้อความธรรมดา หากต้องการ regex ให้ใช้ Text.Split กับ Regex.Split แทน
ฟังก์ชันที่ผู้เขียนโยงไว้กับ Splitter.SplitTextByDelimiter จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
Splitter.SplitTextByAnyDelimiter ใช้สำหรับการประมวลผล
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่