Skip to content

2.3 Text Operations Across Tools

ทุกเครื่องมือมี text operations พื้นฐานเหมือนกัน แต่เรียกชื่อต่างกัน — ถ้าคุณรู้ “concept” คุณจะหาคำสั่งที่ถูกต้องได้ในทุกเครื่องมือ

6 Operations ที่ใช้บ่อยที่สุด

Section titled “6 Operations ที่ใช้บ่อยที่สุด”

เราจะดู 6 operations นี้ในทุกเครื่องมือ:

  1. Length — นับความยาวของ text
  2. First N chars — ตัดเอาตัวอักษรแรก N ตัว
  3. Find — ค้นหาตำแหน่งของ substring
  4. Strip / Trim — ตัด spaces หน้า-หลัง
  5. Pad — เติมอักขระนำหน้า (เช่น เติม 0)
  6. Concatenate — ต่อ text เข้าด้วยกัน

ตารางเปรียบเทียบ

Section titled “ตารางเปรียบเทียบ”
OperationGoogle SheetsPython (str)pandas (Series.str)SQLC
Length=LEN(A1)len(s)df['col'].str.len()LENGTH(col)strlen(s)
First 3=LEFT(A1,3)s[:3]df['col'].str[:3]LEFT(col,3) / SUBSTRING(col,1,3)strncpy(dst,s,3)
Last 3=RIGHT(A1,3)s[-3:]df['col'].str[-3:]RIGHT(col,3)s+strlen(s)-3
Find=FIND("x",A1)s.find("x")df['col'].str.find("x")POSITION('x' IN col)strstr(s,"x")
Trim=TRIM(A1)s.strip()df['col'].str.strip()TRIM(col)ต้องเขียนเอง
Pad left=REPT("0",5-LEN(A1))&A1s.zfill(5)df['col'].str.zfill(5)LPAD(col,5,'0')sprintf(buf,"%05s",s)
Concat=A1&B1 / =CONCAT(A1,B1)a + b / f"{a}{b}"df['a'] + df['b']col1 || col2 / CONCAT(col1,col2)strcat(dst,src)

ใส่ Ploy Srisuwan (มี spaces หน้า-หลัง) ในเซลล์ A1 แล้วลอง:

=LEN(A1) → 18 (รวม spaces)
=LEN(TRIM(A1)) → 14 (ตัด spaces หน้า-หลัง)
=LEFT(TRIM(A1),4) → "Ploy"
=RIGHT(TRIM(A1),8) → "Srisuwan"
=FIND("Sri",A1) → 8 (ตำแหน่งที่เจอ รวม leading spaces)

Pad leading zeros: ใส่ 123 ใน B1:

=REPT("0",5-LEN(B1))&B1 → "00123"
=TEXT(B1,"00000") → "00123" (วิธีง่ายกว่า!)

Concat: ใส่ Ploy ใน C1 และ Srisuwan ใน D1:

=C1&" "&D1 → "Ploy Srisuwan"
=CONCAT(C1," ",D1) → Error (CONCAT รับแค่ 2 arguments)
=TEXTJOIN(" ",TRUE,C1,D1) → "Ploy Srisuwan" (ดีกว่า)

จุดต่างที่ต้องระวัง

Section titled “จุดต่างที่ต้องระวัง”
จุดต่างรายละเอียด
Index เริ่มที่Python/C: 0-indexed, SQL/Sheets: 1-indexed
TRIM behaviorSheets TRIM ยุบ spaces ตรงกลางด้วย, SQL/Python ตัดแค่หน้า-หลัง
Find ไม่เจอPython: -1, Sheets: #VALUE!, SQL: 0, C: NULL pointer
LPAD ใน Sheetsไม่มี LPAD — ต้องใช้ REPT()& หรือ TEXT()