การจัดการข้อความเป็นสิ่งจำเป็นพื้นฐานที่ทุกโปรแกรมภาษาจะต้องมีฟังก์ชันให้ใช้ โปรแกรมภาษาไพธอนมีฟังก์ชันเหล่านี้เช่นเดียวกัน คำสั่งด้านการจัดการข้อความมีไว้เพื่อนำไปใช้ในการแสดงผล ทั้ง ภาษา XML หรือ HTML หรือใช้ในการติดต่อกับฐานข้อมูล เป็นต้น การจัดการข้อความของภาษาไพธอนมีคำสั่งให้เรียกใช้เป็นจำนวนมาก แต่ที่จะนำมากล่าวในบทนี้ มีเฉพาะที่จำเป็นต้องใช้เท่านั้น ได้แก่ คำสั่งในการเปรียบเทียบข้อความ การเชื่อมคำ การแยกคำ การค้นหาคำ การค้นหาและแทนที่คำ การตัดคำ การจัดรูปแบบและตำแหน่งคำ และการประมวลผลคำ ซึ่งมีรายละเอียดแต่ละรายการ ดังนี้
1. การเปรียบเทียบข้อความ
การเปรียบเทียบข้อความเป็นการดำเนินการทางตรรกะเบื้องต้น ที่ใช้ตัวดำเนินการเดียวกับการเปรียบเทียบการสร้างเงื่อนไขทั่ว ๆ ไป โดยใช้เครื่องหมาย == อยู่ตรงกลางระหว่างตัวแปรที่ต้องการเปรียบเทียบ หรือใช้ ตัวดำเนินการ > หรือ < เพื่อเปรียบเทียบข้อความ และใช้สำหรับการเรียงลำดับ ได้เช่นกัน ผลลัพธ์ที่ได้จะแสดงเป็นจริงหรือเท็จ นอกจากนี้ยังสามารถใช้เมท็อด upper() สำหรับแปลงข้อความตัวพิมพ์เล็กในภาษาอังกฤษให้เป็นตัวพิมพ์ใหญ่ หรือใช้ lower() เพื่อแปลงข้อความตัวพิมพ์ใหญ่ให้เป็นตัวพิมพ์เล็ก ดังตัวอย่างภาพที่ 3.11 และ 3.12
>>> A = 'abc'
>>> B = 'ABC'
>>> A == B
False
>>> A == B.lower()
True
>>> A.upper() == B
True
>>> if A.upper() == B :
print(A," match ",B)
abc match ABC
>>> if B.lower() == A :
print(B," match ",A)
ABC match abc
ภาพที่ 3.11 แสดงคำสั่งและผลลัพธ์การเปรียบเทียบข้อความ
2. การเชื่อมข้อความ
การเชื่อมข้อความ เป็นการนำเอาข้อความตั้งแต่ 2 ข้อความขึ้นไปมาต่อเรียงกันเป็นข้อความใหม่ โดยใช้ เมท็อด join() หรือใช้เครื่องหมาย + หรือ += ในการเชื่อมข้อความหลาย ๆ ข้อความได้เช่นเดียวกัน ในกรณีที่ข้อมูลประเภทข้อความที่เก็บอยู่ในรูปแบบลิสต์ สามารถใช้การเชื่อมคำที่ทำงานได้เร็วกว่าด้วยคำสั่ง join(wordList) การเชื่อมข้อความจะเริ่มจากข้อความลำดับที่ 1 ไปจนลำดับสุดท้าย ดังตัวอย่างภาพที่ 3.13
>>> word1 = "โรงเรียน"
>>> word2 = "ศรีสโมสรวิทยา"
>>> word3 = "อ.หนองมะโมง"
>>> word4= "จ.ชัยนาท"
>>> word5 = ["โรงเรียนประจำอำเภอ", "โรงเรียนในฝัน", "โรงเรียนส่งเสริมคุณธรรม"]
>>> print("โรงเรียนของเรา คือ" + word1 + word2 + word3 + word4)
โรงเรียนของเรา คือโรงเรียนศรีสโมสรวิทยาอ.หนองมะโมงจ.ชัยนาท
>>> print("จุดเด่นของโรงเรียน : " + " " .join(word5))
จุดเด่นของโรงเรียน : โรงเรียนประจำอำเภอ โรงเรียนในฝัน โรงเรียนส่งเสริมคุณธรรม
ภาพที่ 3.13 แสดงคำสั่งและผลลัพธ์ของการเชื่อมข้อความ
3. การแยกคำ
การแยกคำเป็นการตัดคำออกมาจากประโยคโดยเฉพาะประโยคในภาษาอังกฤษที่ประกอบด้วยคำหลาย ๆ คำ ซึ่งแต่ละคำจะมีตัวช่องไฟ (เช่น space bar หรือ tab หรือการขึ้นบรรทัดใหม่) เป็นตัวคั่น โปรแกรมภาษาไพธอนมีเมท็อด split() เพื่อแยกคำแบบนั้นออกมา หรือใช้เมท็อด split() ที่มีอาร์กิวเมนต์ เช่น split(ตัวอักษรที่ต้องการแยก) ในกรณีที่ต้องการแยกแต่ละบรรทัดจากไฟล์ให้ใช้เมท็อด splitline() โดยมีอาร์กิวเมนต์ระบุจำนวนบรรทัด เมื่อคำหรือบรรทัดที่แยกออกมาแล้ว ผลลัพธ์ที่ได้จะเก็บข้อมูลอยู่ในรูปของลิสต์ ดังตัวอย่างภาพที่ 3.14
>>> sentence = "I say my darling, you were wonderful tonight"
>>> paragraph = "It's late in the evening.\n\
She's wondering what clothes to wear.\n\
She puts on her make up.\n\
And brushes her long blonde hair.\n\
And then she asks me.\n\
Do I look alright.\n\
And I say yes, you look wonderful tonight."
>>> name = "Somchai, Somsak, Somkid, Somsri, Sompong, Somjai"
>>> print sentence.split()
['I', 'say', 'my', 'darling,', 'you', 'were', 'wonderful', 'tonight']
>>> print name.split(', ')
['Somchai', 'Somsak', 'Somkid', 'Somsri', 'Sompong', 'Somjai']
>>> print paragraph.splitlines(1)
["It's late in the evening.\n", "She's wondering what clothes to wear.\n", 'She puts on her make up.\n', 'And brushes her long blonde hair.\n', 'And then she asks me.\n', 'Do I look alright.\n', 'And I say yes, you look wonderful tonight.']