Extract by Regex
extract_pattern · text · text
2026-09-23
กำลังประมวลผล…
extract_pattern · text · text
2026-09-23
ข้อมูลจริงมักซ่อนสิ่งที่เราต้องการไว้ในข้อความยาว เช่น เลขที่คำสั่งซื้อในหมายเหตุ หรือรหัสจังหวัดในที่อยู่ เทคนิคนี้ดึงเฉพาะส่วนที่ตรงรูปแบบออกมาเป็นคอลัมน์ใหม่ โดยไม่แตะคอลัมน์ต้นทาง
split_column เข้าใจง่ายกว่าและได้หลายคอลัมน์ในขั้นตอนเดียวvalidate_regexregex และ flags โดยเปิด u ไว้เพื่อให้รองรับภาษาไทยและอิโมจิgroup — กลุ่ม 0 คือข้อความทั้งหมดที่ตรง ส่วน 1 ขึ้นไปคือวงเล็บที่คุณเขียนintoNewColumn เปิดอยู่เป็นค่าเริ่มต้น คอลัมน์เดิมจึงยังอยู่ให้ตรวจสอบย้อนหลัง| Parameter | Type | Default |
|---|---|---|
column | string | — |
regex | string | "(.*)" |
flags | string | "u" |
group | number | 0 |
intoNewColumn | boolean | true |
newColumnName | string | — |
import json
import re
def extract_pattern(value, pattern, group=1):
if not isinstance(value, str):
return None
found = re.search(pattern, value)
return found.group(group) if found else None
values = ['Order #1234 ไทย', 'ไม่มีเลขที่', None, 'ref #77']
print(json.dumps([extract_pattern(v, r'#(\d+)') for v in values], ensure_ascii=False))
คอลัมน์ note มีข้อความอย่าง "โอนแล้ว ref #1234" ตั้ง regex เป็น #(\d+) group เป็น 1 และตั้งชื่อคอลัมน์ใหม่ว่า ref_no ตรวจ Preview ว่ามีกี่แถวที่ได้ค่าว่าง ซึ่งคือแถวที่ไม่มีเลขอ้างอิง จากนั้นใช้ remove_missing_rows หรือ flag_missing ตามที่ต้องการ
ใช้ split_column เมื่อข้อความมีตัวคั่นชัดเจน ใช้ validate_regex เมื่อต้องการตรวจมากกว่าจะดึงออกมา และใช้ find_replace เมื่อเป้าหมายคือแก้ข้อความในที่เดิม