ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

     หลายๆคนอาจเคยเจอกับปัญหาตัวอกษรของผลลัพธ์ที่ออกมานั้น ไม่เป็นดั่งใจ อยากได้ตัวพิมพ์เล็ก แต่ผลลัพธ์ที่ออกมาเป็นตัวพิมพ์ใหญ่ หรือ อยากให้ผลลัพธ์ของตัวอักษรที่ออกมา เป็นตัวพิมพ์ใหญ่เฉพาะตัวแรก ซึ่งในภาษา Python (ไพทอน) เราสามารถจัดการกับปัญหาเหล่านี้ที่เกิดขึ้นได้ ไม่ว่าจะเป็นข้อมูลชนิด List ใน Python หรือ ข้อมูลชนิด Tuples เราก็สามารถจัดการกับปัญหาได้ โดยใช้ฟังก์ชันที่เกี่ยวกับการเปลี่ยนลักษณะตัวพิมพ์นั่นเอง และในบทความนี้เราจะมาพูดถึงการเปลี่ยนลักษณะและการจัดแนวของข้อมูลชนิด String (สตริง) กัน

     String (สตริง) คือ ชุดของตัวอักษร เป็นการนำตัวอักษรหลายๆ ตัวมาต่อกันหรือเรียกว่าอาเรย์ของตัวอักษร เช่น 'm','i','n','d','p','h','p' เก็บไว้ในข้อมูลอาเรย์ และรวมเป็นข้อมูลชนิดสตริง ซึ่งจะได้ข้อความ 'mindphp' 

การเปลี่ยนลักษณะตัวพิมพ์

     ในภาษาคอมพิวเตอร์ทุกๆตัวอักษรจะมีค่าไม่เท่ากัน เช่น a (พิมพ์เล็ก) จะมีค่าไม่เท่ากับ A (พิมพ์ใหญ่) ทำให้การนำไปใช้ต้องคำนึงถึงส่วนนี้ด้วย ซึ่งฟังก์ชันในกลุ่มการเปลี่ยนลักษณะตัวพิมพ์ จะมีดังนี้

capitalize() ให้ตัวอักษรตัวแรกของประโยคเป็นตัวพิมพ์ใหญ่
lower() เปลี่ยนทุกตัวอักษรเป็นตัวพิมพ์เล็กทั้งหมด
upper() เปลี่ยนทุกตัวอักษรเป็นตัวพิมพ์ใหญ่ทั้งหมด
title() ให้ตัวอักษรตัวแรกของแต่ละคำเป็นพิมพ์ใหญ่
swapcase() สลับระหว่างตัวพิมพ์เล็กและพิมพ์ใหญ่

ตัวอย่างการใช้งาน

x = 'mindPHP Mindphp'

print(x.capitalize(),
       x.lower(),
       x.upper(),
       x.title(),
       x.swapcase(),
       sep = '\n'
)

ผลลัพธ์

ผลลัพธ์การเปลี่ยนลักษณ์ตัวพิมพ์จากคำสั่งต่างๆ
ผลลัพธ์การเปลี่ยนลักษณ์ตัวพิมพ์

 

     ผลลัพธ์ที่ออกมาหลังจากที่ใช้คำสั่ง print จะเห็นได้ว่าอักษรตัวพิมพ์เล็กและพิมพ์จะเปลี่ยนไปตามแต่ละฟังก์ชันที่เราได้ทำการกำหนด แต่ถ้าหากหน้าประโยคของเรามีเครื่องหมายต่างๆ เช่น '(' การใช้งานฟังก์ชันอย่าง capitalize ก็จะไม่มีผลอะไร ทำให้ผลลัพธ์ที่ออกมานั้นจะมีค่าเท่าเดิม

 

การจัดแนวขอบของสตริง

     การจัดแนวขอบของสตริง (Justify) เป็นการเลือกว่าจะให้ข้อมูลสตริงนั้นอยู่ชิดขอบด้านใด โดยจะมีฟังก์ชันดังนี้

center() ให้สตริงอยู่กึ่งกลาง ของขนาดความกว้างที่เราระบุ
ljust() ให้สตริงอยู่ชิดขอบด้านซ้าย ของขนาดความกว้างที่ระบุ
rjust() ให้สตริงอยู่ชิดขอบด้านขวา ของขนาดความกว้างที่ระบุ

ตัวอย่างการใช้งาน

x = 'mindPHP Mindphp'
print(x.capitalize().center(50),
       x.lower().center(25),
       x.upper().ljust(50),
       x.title().rjust(50),
       x.swapcase().rjust(25),
      sep = '\n'
)

ผลลัพธ์

ผลลัพธ์การจัดขอบจากคำสั่งต่างๆ
ผลลัพธ์การจัดขอบ

     ผลลัพธ์ที่ออกมาหลังจากที่ใช้คำสั่ง print จะเห็นได้ว่าตำแหน่งของแต่ละสตริงจะแตกต่างกันออกไป ซึ่งในการใช้ฟังก์ชันดังกล่าวไม่จำเป็นจะต้องใช้คู่กับฟังก์ชันการเปลี่ยนลักษณะตัวพิมพ์ เราสามารถใช้ต่อจากข้อมูลสตริงได้เลย เช่น 'mindphp'.center() แค่นี้ก็สามารถใช้ฟังก์ชันการจัดแนวขอบของสตริงได้แล้ว

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

 

 

ช่องทางการศึกษาเพิ่มเติมเกี่ยวกับ : Python

บทเรียนไพทอน

การจัดการกับข้อมูลชนิด String (สตริง) ในไพทอน

การแยกและตัดช่องว่างข้อมูลชนิด String (สตริง) ในไพทอน

วิธีการใช้คำสั่ง print (ปริ้น) หลายๆบรรทัดด้วยคำสั่งเดียว ในภาษาไพทอน

ตัวดำเนินการ (Operator) สำหรับเปรียบเทียบความสัมพันธ์ใน Python ไพทอน

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ติดปัญหาการค้นหาข้อมูล Listbox ให้เลือกค่าเก่าค้างไว้
โดย makup พฤ 22 ต.ค. 2020 8:05 pm บอร์ด Programming - PHP
2
31
พฤ 22 ต.ค. 2020 8:57 pm โดย mindphp
อยากทราบว่า ตรงที่แสดงข้อมูล URL จะให้แสดงเฉพาะ id แค่ตัวเลข ต้องทำอย่างไงครับ
โดย makup พฤ 22 ต.ค. 2020 8:05 pm บอร์ด Programming - PHP
3
23
พฤ 22 ต.ค. 2020 8:16 pm โดย mindphp
วิธีเขียน Laravel Framework อัพโหลดไฟล์ Upload file ภาพ ขึ้น Server
โดย makup พฤ 22 ต.ค. 2020 5:41 pm บอร์ด PHP Knowledge
1
25
พฤ 22 ต.ค. 2020 5:54 pm โดย makup
ปัญหา phpBB Error ในหน้า admin vsprintf(): Too few arguments
โดย mindphp พ 21 ต.ค. 2020 5:36 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
0
25
พ 21 ต.ค. 2020 5:36 pm โดย mindphp
สอนเขียนวิธี Upload File Laravel ขึ้น Server
โดย makup พ 21 ต.ค. 2020 3:41 pm บอร์ด PHP Knowledge
2
46
พ 21 ต.ค. 2020 5:25 pm โดย makup
สอบถาม การขึ้นบรรทัดใหม่ ด้วย การนับ len และตัดแบบเต็มคำยังไงคะ
โดย bolue อ 20 ต.ค. 2020 7:22 pm บอร์ด Programming - C/C++ & java & Python
2
45
อ 20 ต.ค. 2020 8:15 pm โดย mindphp
วิธีการทำระบบค้นหา ใน Laravel Framework
โดย makup อ 20 ต.ค. 2020 12:57 pm บอร์ด PHP Knowledge
0
39
อ 20 ต.ค. 2020 12:57 pm โดย makup
เจอปัญหา Publishing failed. You are probably offline. ปัญหาใน Wordpress 5.x
โดย mindphp อ 20 ต.ค. 2020 6:03 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
28
อ 20 ต.ค. 2020 6:30 am โดย mindphp
แสดงสินค้าที่ขายได้ล่าสุด ด้วย Module Latest Sold Products ใน MooZiiCart
โดย bolue จ 19 ต.ค. 2020 6:53 pm บอร์ด MindPHP News & Feedback
0
76
จ 19 ต.ค. 2020 6:53 pm โดย bolue
ติดปัญหาเรื่อง การทำปุ่ม ค้นหา ที่มีการเชื่อมความสัมพันธ์ Laravel Framework
โดย makup จ 19 ต.ค. 2020 6:23 pm บอร์ด Programming - PHP
3
90
อ 20 ต.ค. 2020 1:32 pm โดย mindphp
วิธีการกำหนด Routing ใน Laravel Framework
โดย makup จ 19 ต.ค. 2020 7:15 am บอร์ด PHP Knowledge
0
88
จ 19 ต.ค. 2020 7:15 am โดย makup
วิธีแสดงพิกัดบนแผนที่ OpenStreetMap ด้วย Laravel Framework
โดย makup อ 18 ต.ค. 2020 6:21 pm บอร์ด PHP Knowledge
0
79
อ 18 ต.ค. 2020 6:21 pm โดย makup
เจอปัญหา ในฐาน Joomla Out of resources when opening file '/tmp/#sql_7059_0.MAD' (Errcode: 24 "Too many open files")
โดย mindphp อ 18 ต.ค. 2020 5:34 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
68
อ 18 ต.ค. 2020 5:41 pm โดย mindphp
Re: Mysql เช็คerror ฟิลซ้ำ แสดงข้อความ(PHP)
โดย kimmyth ศ 16 ต.ค. 2020 11:26 pm บอร์ด Programming - PHP
1
90
ส 17 ต.ค. 2020 10:02 am โดย mindphp
Mysql เช็คerror ฟิลซ้ำ แสดงข้อความ
โดย kimmyth ศ 16 ต.ค. 2020 11:22 pm บอร์ด Programming - PHP
0
68
ศ 16 ต.ค. 2020 11:22 pm โดย kimmyth
อยากทราบว่า มีตัวอย่าง OpenstreetMap ในการใช้งานร่วมกับ MySQL , PHP บ้างไหมครับ
โดย makup ศ 16 ต.ค. 2020 7:25 pm บอร์ด Programming - PHP
2
95
ศ 16 ต.ค. 2020 7:48 pm โดย makup
การคำนวณต้นทุนสินค้า แบบ FIFO และ Weighted Average
โดย bolue ศ 16 ต.ค. 2020 6:53 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
96
ศ 16 ต.ค. 2020 6:53 pm โดย bolue
วิธีการเชื่อมความสัมพันธ์ข้อมูล one to many บน Laravel Framework
โดย makup ศ 16 ต.ค. 2020 6:40 pm บอร์ด PHP Knowledge
0
119
ศ 16 ต.ค. 2020 6:40 pm โดย makup
Function Validate Laravel Framework
โดย makup ศ 16 ต.ค. 2020 4:22 pm บอร์ด PHP Knowledge
0
114
ศ 16 ต.ค. 2020 4:22 pm โดย makup
จะอัพเกรด Joomla 1.5 เป็น Joomla 3 ควรใช้ php อะไร
โดย Anonymous พฤ 15 ต.ค. 2020 10:13 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
80
ศ 16 ต.ค. 2020 12:48 am โดย mindphp