การจัดการสตริงและการดึงข้อมูล

การจัดการสตริงและดึงข้อมูลแบบเบื้องต้น

การจัดการสตริงนั้นถือว่าเป็นสิ่งสำคัญในการเขียนโปรแกรมซึ่งจะมีในหลายๆ เหตุการณ์ที่เราต้องใช้งานมันไม่ว่าจะเป็นการเช็คคำต้องห้าม เช่น พวกคำหยาบ, คำเหยียดด เป็นต้น หรืิอการเช็คความยาวของตัวอักษรทั้งหมด เพื่อจำกัด การใส่ชื่อของผู้ใช้งาน และอื่นๆ อีกมากมายที่เราจะต้องได้ใช้งานมัน

ตำแหน่งของสตริง

พื้นฐานวิชาคอมพิวเตอร์โปรแกรมมิ่งทั่วไป

ตำแหน่งของสตริงนั้นเป็นเหมือนกับการนับตัวเลขนั่นก็คือเริ่มจาก 0 ผมจะยกตัวอย่างข้อความหนึ่งชุดและจะอธิบายว่าการนับตำแหน่งนั้นเป็นอย่างไร?

"Deutschland" คำนี้จะมีอยู่ 11 ตำแหน่งตามตัวอักษรของมัน ซึ่งตำแหน่งแรกมันจะเริ่มที่ 0 นั่นก็คือตัว "D" และตำแหน่งถัดไปของมันคือ 1 นั่นก็คือตัว "e" ง่ายๆ ครับวิธีนับตำแหน่งของสตริงก็คือเริ่มจาก 0 แล้วก็นับตัวอักษรไปเรื่อยๆ จนกว่าจะหมดและคุณจะได้ตำแหน่งทั้งหมดของมัน เช่นข้อความนี้มีทั้งหมด 11 ตัวอักษร

โดยจากโค้ดผมจะประกาศตัวแปรหนึ่งขึ้นมาเป็นสตริงซึ่งจะเหมือนกับข้อความที่ผมได้ยกตัวอย่างไปก่อนหน้านี้ก็คือคำว่า "Deutschland" และก็ลองดึงตัวอักษรในตำแหน่งที่ 0 กับ 1 ด้วยการใส่ Square Brackets หรือ [] เข้าไปหลังชื่อตัวแปรของเราและใส่ตัวเลขตำแหน่งของตัวอักษรเข้าไป ทีนี้เราก็จะได้ตัวอักษรแล้ว


การสไลด์ของสตริง

พื้นฐานวิชาคอมพิวเตอร์โปรแกรมมิ่งทั่วไป

การสไลด์หรือแปลเป็นไทยก็ หัน ซึ่งก่อนหน้านี้ผมได้ทำการอธิบายไปแล้วในส่วนของ ตำแหน่งของสตริง ซึ่งในโค้ดนั้นก็คือการสไลด์เหมือนกันแต่ว่าเป็นการสไลด์แบบ หนึ่งตัว ซึ่งในส่วนของตรงนี้ผมจะอธิบายเกี่ยวกับการสไลด์ที่มากกว่า 1 ตัวแต่ก่อนอื่นเราจะอธิบายส่วนประกอบกันก่อน

variable[ตำแหน่งเริ่มต้น:ตำแหน่งจบ:ข้ามทีละกี่ตัว?] - ซึ่งในการทำสไลด์แบบหลายตัวจำเป็นต้องมี Double Colon หรือ : ในการขั้นของแต่ละส่วน หากคุณกั้นแค่ 1 ส่วน คุณก็จะสามารถใช้ได้แค่ จุดเริ่มกับจุดจบ แต่ถ้าหากคุณกั้น 2 ส่วนคุณจะได้รับความสามารถมันมาอีกหนึ่งอย่างคือการอ่านข้าม

จากตัวอย่างโค้ดผมได้ใช้ข้อความเดิมเป็นตัวอย่างในการอธิบายเพื่อความไม่สับสน ซึ่งผมจะข้ามการสไลด์แบบหนึ่งตัวไปซึ่งผมได้อธิบายไปแล้ว แต่เราจะมาดูในส่วนของการสไลด์แบบหลายตัวกันดีกว่า

ตัวอย่างการสไลด์แบบหลายตัวอย่างแรก คือการ เอาคำว่า "Deutsch" ออกมาเท่านั้นโดยที่ไม่ต้องเอาคำว่า "land" ออกมาด้วยโดยการ เพิ่มจุดเริ่มต้นคือของตัวอักษรที่ต้องการให้ไพรธอนอ่านนั่นก็คือ 0 และจุดจบของคำที่เราต้องการให้มันหยุดก็คือ 6 เมื่อเราแสดงออกมาเราจะได้ "Deutsch" ซึ่งจุดเริ่มเราไม่จำเป็นต้องใส่ 0 ก็ได้ หากเราไม่ใส่มันก็จะเริ่มต้นให้ค่าเป็น 0 ซึ่งมีค่าเท่ากันกับการที่เราใส่ 0

ตัวอย่างการสไลด์แบบหลายตัวอย่างสอง คือการ เอาคำว่า "Deutsch" เหมือนกับตัวอย่างอันที่แล้วแต่ว่าจะมีการเพิ่มการอ่านข้ามมา 2 ตัวอักษร ทำให้การอ่านข้ามครั้งนี้ได้ข้อควาเป็น "Dushad" ซึ่งเหมือนเดิมครับเราไม่จำเป็นต้องใส่จุดเริ่มกับจุดจบ หรือจะใส่ก็ได้ถ้าหากคุณ Specific ที่จะเอาคำในส่วนไหนของประโยคมาใช้งาน

ตัวอย่างการสไลด์แบบหลายตัวอย่างสาม คือการเอาคำจากข่างหลังสุดโดยใช้เลขติดลบซึ่งเราสามารถใช้เลขติดลบกับ จุดจบของตัวอักษรและการอ่านข้ามตัวอักษร ได้เหมือนกัน ซึ่งตัวอย่างนี้ผมได้ทำการ -1 เพื่อสไลด์ตัวอักษรอันเดียวจากหลังสุดออกมานั่นก็คือ "d"

การอ่านจำนวนทั้งหมดของสตริง

พื้นฐานวิชาคอมพิวเตอร์โปรแกรมมิ่งทั่วไป

คุณอาจจะเหนื่อยกับวิธีการนับด้วยตัวเองซึ่งจริงๆ แล้วมันมีฟังก์ชั่นการอ่านจำนวนตัวอักษรทั้งหมดของสตริงนั่นก็คือ len() ซึ่งวิธีใช้งานก็คือการที่เราเอาชื่อตัวแปรเข้าไปใส่ในวงเล็บของฟังก์ชั่นหลังจากนั้นก็ทำการแสดงผลออกมาโดยใช้ฟังก์ชั่น print() หรือคุณจะไปประกาศตัวแปรก่อนแล้วให้ค่ามันเป็นฟังก์ชั่นการอ่านจำนวนตัวอักษรแล้วค่อยมาแสดงผลก็ได้


ฟังก์ชั่นเบื้องต้นที่ใช้กับสตริง

พื้นฐานวิชาคอมพิวเตอร์โปรแกรมมิ่งทั่วไป

ฟังก์ชั่นต่อไปนี้เป็นฟังก์ชั่นที่ใช้กันโดยทั่วไปในการแปลงสตริงหรือข้อความเป็นอย่างอื่น เช่นตัวเล็กทั้งหมด, ตัวใหญ่ทั้งหมด เป็นต้น คุณไม่จำเป็นต้อง ประกาศตัวแปรก่อนแล้วค่อยมาใช้งานฟังก์ชั่นก็ได้ วิธีทำคือ "Message".upper() เป็นต้น เราสามารถเพิ่มเข้าไปข้างหลังข้อความได้เลย ตราบใดที่มันคือสตริง

.lower() คือฟังก์ชั่นแปลงสตริงทั้งหมดให้กลายเป็นตัวเล็กหรือ Lowercase ทั้งหมดในสตริงของตัวมันเอง

.upper() คือฟังก์ชั่นแปลงสตริงทั้งหมดให้กลายเป็นตัวใหญ่หรือ Uppercase ทั้งหมดในสตริงของตัวมันเอง

.split() คือฟังก์ชั่นการแยกข้่อความออกจากกันโดยค่าเริ่มต้นของมันนั้นคือ Whitespace หากในข้อความมีเว้นวรรคมันจะถือว่าเป็นการแยกข้อความ หลังจากนั้นมันจะเก็บเข้า เป็นตัวแปรประเภท List ซึ่งเรายัง​ ณ บทตรงนี้ เรายังสรุปไม่ถึงในส่วนของตรงนั้น เพราะฉะนั้นเราจะชั่งมันไปก่อน ซึ่งในวงเล็บของฟังก์ชั่น .split({here}) เราสามารถใส่ข้อความไปได้ว่า เมื่อเจอคำหรือตัวอักษรไหนถึงจะแยกคำ

และนี่คือตัวอย่างวิธีการเอาตัวแปรที่ใช้งานฟังก์ชั่น .split()

ซึ่งถ้าเราใช้การแสดงผลแบบปกติคือ print() ออกมา เราจะพบว่ามันมีติด Square Brackets มาด้วยแล้วข้างในจะมีข้อความที่เป็นสตริงอีกทีนั่นหมายความ ตอนนี้ ตัวแปร splited เป็นตัวแปรประเภทแบบ List แล้ว

วิธีที่จะเอาออกมาเป็นแบบข้อความแบบเวลาที่เราจะ print() กันแบบปกติคือเราต้องใช้ FOR ในการลูปเข้าไปเพื่อเอาข้อความในแต่ละส่วนของ List ออกมา ตามตัวอย่างเลย

ใช้เพลสโฮเดอร์เพื่อแทรกข้อความ

พื้นฐานวิชาคอมพิวเตอร์โปรแกรมมิ่งทั่วไป

การที่จะแทรกข้อความโดยใช้ "Hello" + ", World" อยู่ตลอดนั้น คงจะเป็นสิ่งที่น่าเบื่อและดูไม่สวยเอาเสียเลย ถ้าจะใช้ตลอดไป แต่ก็ดู Clean Code ในบางกรณี และก็มีวิธีแทรกข้อความอื่นโดยวันนี้เราจะมีสองหลักที่ใช้กัน นั่นก็คืือใช้ฟังก์ชั่น .format() กับใช้สิ่งที่ built-in ของไพรธอนมีมาให้ก็คือ %

ตัวอย่างแรกของการใช้ % วิธีการใช้คือใช้ร่วมกับสตริงอะไรก็ได้แต่จะมี Placeholder ตัวแทนของมันซึ่งถ้าหากต้องการแทรกสตริงหรือข้อความจะต้องใช้ %s เพื่อบอกมันว่าสิ่งที่จะแทรกลงไปคือสตริงหรือข้อความนะ หากคุณต้องการแทรกมากกว่า 1 ข้อความ คุณต้องใส่เพิ่มลงไปในตำแหน่งถัดไป ซึ่งการแทรกข้อความลงไป ว่าจะอยู่ที่ตำแหน่งใด จะทำการอ้างอิงจากการใส่ค่าของมันซึ่งจะเรียงตามการใส่ของเราเลย

ตัวอย่างแรกของการใช้ .format() วิธีการใช้คือเหมือนกับ %s คือใช้กับสตริงหรือข้อความได้เลย และวิธีการใช้งานการแทรกข้อความเหมือนกันเลย แต่ต่างกันตรงที่จะใช้เป็นฟังก์ชั่น .format() แทน ซึ่งสามารถดูได้จากตัวอย่างโค้ดได้เลย แต่การแทนในข้อความนั้นจะใช้เป็น Curely Brackets หรือ {} แทนนั่นเอง

หากเป็นในกรณีของตัวเลขคุณสามารถใช้ %d แทนได้แต่กับของฟังก์ชั่น .format() ไม่จำเป็นต้องทำอะไรขอเพียงแค่คุณใส่ตัวแปรเข้าไปตามตำแหน่งของฟังก์ชั่นพอ


เพลสโฮเดอร์กับการแปลงเลขทศนิยมเป็นสตริง

พื้นฐานวิชาคอมพิวเตอร์โปรแกรมมิ่งทั่วไป

การแสดงเลขทศนิยมนั้นเป็นสิ่งสำคัญมาก หากต้องการโปรแกรมที่มีความแม่นยำหรือว่าโปรแกรมที่เกี่ยวกับการเงิน ซึ่งเราสามารถทำให้มันแปลงจากเลขเป็นสตริงหรือข้อความได้และสามารถระบุได้ด้วยว่าจะแสดงกี่ทศนิยม ซึ่งเราจะใส่ว่า {:.(จำนวนทศนิยม)f} ซึ่งในตัวอย่างการแสดงผลครั้งแรก ผมอยากให้แสดงผลค่า PI แค่ 2 ทศนิยม ผมก็จะใส่จำนวนเลขทศนิยมเท่านั้น แต่ถ้าหากผมต้องการให้มันโชว์ 10 ตำแหน่ง ผมก็แค่ใส่เข้าไป

วิธีเพิ่มลูกน้ำหรือ Comma ในกรณีที่ตัวเลขนั้นมีค่ามากกว่า 999 ซึ่งเมื่อเกินมาแล้ว มันจะทำการเติม Comma หรือ , ให้คุณทันทีในตำแหน่งของตัวเลขที่คุณใส่มา โดยใช้วิธี {:,.2f} ซึ่งถ้าคุณต้องการเพิ่มจำนวนทศนิยม คุณแค่เพิ่มเข้าไปแค่นั้น

การใช้งานสตริงเพิ่มเติม

พื้นฐานวิชาคอมพิวเตอร์โปรแกรมมิ่งทั่วไป

คุณสามารถใช้งานสตริงร่วมกับเครื่องหมายคณิตศาสตร์เพื่อแสดงข้อความซ้ำๆ แบบไม่ต้องใช้ print() แบบหลายๆ ครั้ง ทำให้ประหยัดเวลาได้เป็นอย่างมากและช่วยในเรื่องของ Clean Code อีกด้วย


ฟังก์ชั่นเพิ่มเติมสำหรับสตริง

พื้นฐานวิชาคอมพิวเตอร์โปรแกรมมิ่งทั่วไป

นอกจากนี้แล้วยังมีฟังก์ชั่นอื่นๆ อีกที่มีความสำคัญเหมือนกัน เช่น

.join() เป็นฟังก์ชั่นที่ทำให้ข้อมูลสามารถเชื่อมต่อกันได้โดยคุณสามารถใส่ตัวอักษรระหว่างกลางของข้อมูลได้ซึ่งถ้าทำ ทำให้เวลาข้อมูลแสดงออกมาจะมีตัวอักษรที่เราใส่ไว้ขั้นกลางระหว่างข้อมูลทุกอัน ซึ่งสามารถใช้กับ List ได้


.strip() เป็นฟังก์ชั่นที่เอาไว้ลบสิ่งที่เรากำหนดว่าอยากให้ลบ ซึ่งถ้าหากเราไม่ใส่อะไรเข้าไปเลย ค่าเดิมของมันคือ Whitespace ซึ่งถ้าหากมีเว้นวรรคมันก็จะลบให้เลยทันที

.rstrip() เป็นฟั่งก์ชั่นที่เหมือนกับ .strip() แต่เป็นการลบสิ่งที่เราต้องการที่อยู่ข้างหลังสุดของสตริงหรือข้อความของเรา ซึ่งถ้าหากเราไม่ใส่อะไรเข้าไปเลย ค่าเดิมของมันคือ Whitespace

.lstrip() เป็นฟั่งก์ชั่นที่เหมือนกับ .strip() แต่เป็นการลบสิ่งที่เราต้องการที่อยู่ข้างหน้าสุดของสตริงหรือข้อความของเรา ซึ่งถ้าหากเราไม่ใส่อะไรเข้าไปเลย ค่าเดิมของมันคือ Whitespace


.find() เป็นฟังก์ชั่นที่เอาไว้สำหรับหาชุดคำหรือตัวอักษรอะไรก็ตามที่อยู่เราใส่ไปในวงเล็บของฟังก์ชั่น ซึ่งมันจะคืนค่ากลับมาให้เราเป็นตำแหน่งของสตริงหรือข้อความในตัวแปรของเรา ว่า ตำแหน่ง ที่เราหาอยู่นั้น คำมันเริ่มที่ตำแหน่งใด

.replace() เป็นฟังก์ชั่นสำหรับการวางข้อความอื่นแทนข้อความที่เรากำหนดไว้ในฟังก์ชั่นซึ่ง จะถูกแบ่งออกมาเป็นสองส่วนในวงเล็บ ("คำที่เราจะเปลี่ยน", "คำใหม่ที่เราต้องการที่จะเปลี่ยน")

.endswith() เป็นฟังก์ชั่นที่เอาไว้เช็คค่าว่าสิ่งที่เรากำหนดลงไปในวงเล็บนั้นกับตัวอักษรแรกของตัวแปรที่เราได้ใช้ฟังก์ชั่นนี้ด้วย มันคืออันเดียวกันหรือไม่ ซึ่งจะคืนค่ากลับมาเป็น Boolean

.endswith() เป็นฟังก์ชั่นที่เอาไว้เช็คค่าว่าสิ่งที่เรากำหนดลงไปในวงเล็บนั้นกับตัวอักษรตัวสุดท้ายของตัวแปรที่เราได้ใช้ฟังก์ชั่นนี้ด้วย มันคืออันเดียวกันหรือไม่ ซึ่งจะคืนค่ากลับมาเป็น Boolean


.isalnum() เป็นฟังก์ชั่นที่เอาไว้เช็คว่าในสตริงหรือข้อความของตัวแปรเรานั้นมีแต่ตัวอักษรกับตัวเลขที่ไม่มีสัญลักษณ์พิเศษหรือเปล่า ซึ่งจะคืนค่ากลับมาเป็น Boolean

.isalpha() เป็นฟังก์ชั่นที่เอาไว้เช็คว่าในสตริงหรือข้อความของตัวแปรเรานั้นมีแต่ตัวอักษรหรือเปล่า ซึ่งจะคืนค่ากลับมาเป็น Boolean

.islower() เป็นฟังก์ชั่นที่เอาไว้เช็คว่าในสตริงหรือข้อความของตัวแปรเรานั้นเป็นตัวอักษรเล็กทั้งหมดหรือเปล่า ซึ่งจะคืนค่ากลับมาเป็น Boolean

.isupper() เป็นฟังก์ชั่นที่เอาไว้เช็คว่าในสตริงหรือข้อความของตัวแปรเรานั้นเป็นตัวอักษรใหญ่ทั้งหมดหรือเปล่า ซึ่งจะคืนค่ากลับมาเป็น Boolean

.isnumeric() ป็นฟังก์ชั่นที่เอาไว้เช็คว่าในสตริงหรือข้อความของตัวแปรเรานั้นมีแต่ตัวเลขหรือเปล่า ซึ่งจะคืนค่ากลับมาเป็น Boolean

.isspace() ป็นฟังก์ชั่นที่เอาไว้เช็คว่าในสตริงหรือข้อความของตัวแปรเรานั้นมีการเว้นวรรคหรือเปล่า ซึ่งจะคืนค่ากลับมาเป็น Boolean

ติดต่อฉัน

หากคุณสนใจในผลงานของฉันและต้องการที่จะจ้างงานหรือติดต่อพูดคุยกับฉัน คุณสามารถติดต่อกับฉันได้ผ่านทางฟอร์มในเว็บไซต์นี้ ซึ่งจะถูกส่งไปที่อีเมลล์ของฉันอีกที