ดึงข้อความหลังจากตัวคั่นที่กำหนด สามารถเลือกว่าจะใช้ตัวคั่นที่ 1, 2, 3 เป็นต้น
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| text | text | ข้อความหลักที่จะดึงข้อมูลจาก | |
| delimiter | text | ตัวคั่นที่ใช้เป็นจุดอ้างอิง เช่น ‘.’ ‘-‘ ‘,’ ‘/’ เป็นต้น | |
| [index]ไม่บังคับ | number or list | 0 (ตัวแรก) | กำหนดตัวคั่นอันไหนที่จะใช้ (0-based) หรือ {occurrence, RelativePosition.FromStart/FromEnd} สำหรับนับจากต้นหรือท้าย |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
Text.AfterDelimiter ใช้สำหรับดึงข้อความส่วนที่อยู่หลังตัวคั่นที่คุณกำหนด ฟังก์ชันนี้ยืดหยุ่นมากเพราะสามารถเลือกได้ว่าจะใช้ตัวคั่นอันไหน (ตัวแรก ตัวที่สอง ฯลฯ) และนับได้ทั้งจากซ้ายไปขวา และจากขวาไปซ้าย
ที่เจ๋งคือ parameters ตัวที่สาม (index) ทำให้เราจัดการกับข้อมูลที่มีตัวคั่นซ้ำหลายครั้ง เช่นเวลาเราต้องดึงชื่อโดเมนจากอีเมล ที่มี dot หลายตัว
ส่วนตัวผม มักใช้ Text.AfterDelimiter แบบง่าย ๆ สำหรับการแยกแฟ่มชื่อ (เอา xlsx ออกจาก report.xlsx) แต่พอมีข้อมูลซับซ้อนขึ้นมา ก็ต้องหยิบ index parameter มาใช้ ทำให้ได้ผลลัพธ์เป๊ะที่ 😎
ดึงข้อความหลังจุด จะได้ 'xlsx' เพื่อใช้สำหรับดึงนามสกุลไฟล์
มี dash 2 ตัว index 0 ใช้ dash แรก index 1 ใช้ dash ที่สอง จึงได้ข้อความหลัง dash ที่สองคือ '333'
นับจากท้ายสตริง {1, FromEnd} หมายถึง dash ที่สองจากท้าย ผลลัพธ์คือข้อความหลังจากนั้น '222-333'
ดึงโดเมนจากอีเมลโดยใช้ @ เป็นตัวคั่น ผลลัพธ์คือ 'company.com'
ฟังก์ชันจะส่งคืน null (ค่าว่าง) หรือข้อมูลหลัก ขึ้นอยู่กับการตั้งค่า ลองใช้ try-catch หรือ if error เพื่อจัดการสถานการณ์นี้
3 แบบ: (1) เลขธรรมชาติ 0, 1, 2 เป็นต้น นับจากซ้าย (2) {occurrence, RelativePosition.FromStart} นับจากซ้ายชัดเจน (3) {occurrence, RelativePosition.FromEnd} นับจากขวา
Text.Split แยกข้อความทั้งหมด ส่งคืน list ของทั้งหมด ส่วน Text.AfterDelimiter ดึงส่วนหลังตัวคั่นตัวเดียวเท่านั้น ทำให้ AfterDelimiter เร็วกว่าและเรียบง่ายสำหรับกรณีหลาย ๆ อย่าง
ฟังก์ชันที่ผู้เขียนโยงไว้กับ Text.AfterDelimiter จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
Text.BeforeDelimiter ดึงข้อความส่วนที่อยู่ก่อนตัวคั่นที่กำหนด พร้อมตัวเลือกระบุตัวคั่นตัวไหน
ดึงข้อความที่อยู่ระหว่างตัวคั่น 2 ตัว
Text.Replace ใช้สำหรับแทนที่ทุกส่วนของข้อความเก่าในข้อความหลักด้วยข้อความใหม่ เป็น Case Sensitive และแทนที่ทีละครั้งที่เจอในข้อความทั้งหมด
Text.Split(text, separator) ใช้แยกข้อความเป็น List โดยอิงตามตัวคั่น (delimiter) ที่ระบุ สามารถใช้ตัวคั่นเพียงตัวเดียวหรือหลายตัวอักษร เช่น "|" หรือ ", the " ผลลัพธ์คืนค่าเป็น List ของข้อความ
Text.Trim ลบอักขระที่ระบุออกจากต้นและท้ายของข้อความ ค่าเริ่มต้นจะลบแค่ช่องว่าง
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่