Text.BeforeDelimiter ดึงข้อความส่วนที่อยู่ก่อนตัวคั่นที่กำหนด พร้อมตัวเลือกระบุตัวคั่นตัวไหน
=Text.BeforeDelimiter(text as nullable text, delimiter as text, optional index as any) as any
=Text.BeforeDelimiter(text as nullable text, delimiter as text, optional index as any) as any
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| text | text | Yes | ข้อความต้นทางที่ต้องการดึงข้อมูล | |
| delimiter | text | Yes | ตัวคั่นที่ใช้ในการแยก เช่น ‘.’ หรือ ‘-‘ หรือ ‘@’ | |
| index | number or list | Optional | 0 (ตัวแรก) | ตัวเลือก: ระบุตัวคั่นตัวไหน (0-based) หรือใช้รูปแบบ {occurrence, RelativePosition.FromStart|FromEnd} |
Text.BeforeDelimiter("John.Doe", ".")=Text.BeforeDelimiter("John.Doe", ".")
"John"
Text.BeforeDelimiter("111-222-333", "-")=Text.BeforeDelimiter("111-222-333", "-")
"111"
Text.BeforeDelimiter("111-222-333", "-", 1)=Text.BeforeDelimiter("111-222-333", "-", 1)
"111-222"
Text.BeforeDelimiter("john.doe@company.com", "@")=Text.BeforeDelimiter("john.doe@company.com", "@")
"john.doe"
Text.BeforeDelimiter("path/to/file.txt", ".", {0, RelativePosition.FromEnd})=Text.BeforeDelimiter("path/to/file.txt", ".", {0, RelativePosition.FromEnd})
"path/to/file"
let Source = Table.FromRows( {{"Alice.Smith"}, {"Bob.Johnson"}, {"Carol.White"}}, {"FullName"} ), AddFirstName = Table.AddColumn( Source, "FirstName", each Text…let
Source = Table.FromRows(
{{"Alice.Smith"}, {"Bob.Johnson"}, {"Carol.White"}},
{"FullName"}
),
AddFirstName = Table.AddColumn(
Source,
"FirstName",
each Text.BeforeDelimiter([FullName], ".")
)
in
AddFirstName
ตารางที่มีคอลัมน์ FirstName ที่ดึงชื่อหน้าจาก FullName
ฟังก์ชันจะคืนค่าข้อความทั้งหมดเอง ไม่มีข้อผิดพลาด
Text.Split ตัดข้อความออกเป็นลิสต์ทั้งหมด Text.BeforeDelimiter ดึงเฉพาะส่วนหน้า
ใช้เมื่อต้องการนับตัวคั่นจากท้ายสุด เช่นแยกนามสกุลไฟล์จากที่อยู่ไฟล์
ได้ เช่น Text.BeforeDelimiter(“Hello—World”, “—“) จะได้ “Hello”
Text.BeforeDelimiter(text, delimiter, [index]) ใช้สำหรับดึงข้อความก่อนหน้าตัวคั่นที่กำหนด
ที่เจ๋งคือมันสามารถระบุตัวคั่นตัวไหนได้ เช่นถ้าข้อความมีหลายตัวคั่น ผมจะดึงข้อความก่อนตัวคั่นตัวที่สอง หรือนับจากท้ายสุดก็ได้
ส่วนตัวผมชอบใช้คู่กับ Text.AfterDelimiter เพื่อแยกข้อมูล เช่นแยกชื่อจากอีเมล (john.doe@company.com) ออกมาเป็น John.Doe ได้เลย 😎