ใน python มีไลบรารีมาตรฐานที่เรียกว่า string . ในโมดูลสตริงจะมีค่าคงที่ เมธอด คลาสต่างๆ ที่เกี่ยวข้องกับสตริงที่แตกต่างกัน
ในการใช้โมดูลเหล่านี้ เราจำเป็นต้องนำเข้า โมดูลสตริง ในรหัสของเรา
นำเข้าสตริง
ค่าคงที่สตริงบางค่าและค่าที่สอดคล้องกันมีดังนี้ −
ซีเนียร์ | ใส่ค่าคงที่สตริงและค่าลงไป |
---|---|
1 | string.ascii_lowercase 'abcdefghijklmnopqrstuvwxyz' |
2 | string.ascii_uppercase ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’ |
3 | string.ascii_letters การต่อกันของ asci_lowwecase และ ascii_uppercase 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' |
4 | string.digits '0123456789' |
5 | string.hexdigits '0123456789abcdefABCDEF' |
6 | string.octdigits '01234567' |
7 | string.punctuation '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~' |
8 | string.printable อักขระ ASCII ที่พิมพ์ได้ทั้งหมด เป็นชุดของตัวอักษร asci_letters เครื่องหมายวรรคตอน ตัวเลข และช่องว่าง'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t \n\r\x0b\x0c' |
9 | string.whitespace '\t\n\r\x0b\x0c' |
โค้ดตัวอย่าง
นำเข้า stringprint(string.hexdigits)print(string.ascii_uppercase)print(string.printable)
ผลลัพธ์
0123456789abcdefABCDEFABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_>{|}การจัดรูปแบบสตริง
คลาสสตริงในตัวใน python รองรับการแทนที่ตัวแปรที่ซับซ้อนที่แตกต่างกันและการจัดรูปแบบค่าโดยใช้เมธอด format()
ในการจัดรูปแบบสตริง ไวยากรณ์พื้นฐานคือ −
‘{} {}’.format(a, b)ค่าของ a และ b จะอยู่ที่ตำแหน่งเหล่านั้น ซึ่งปิดด้วย '{}' นอกจากนี้เรายังสามารถจัดเตรียมพารามิเตอร์ตำแหน่งภายในเครื่องมือจัดฟัน หรือเขียนชื่อตัวแปรบางตัวก็ใช้ได้ในเครื่องหมายปีกกา
การใช้ตัวเลือกการจัดรูปแบบนี้ เราสามารถตั้งค่าการเติมลงในข้อความของเราได้ ในการเพิ่มช่องว่างภายในข้อความ ไวยากรณ์จะเป็นดังนี้ -
‘{:(ตัวอักษร)> (ความกว้าง)}’.format(‘สตริง’)'สตริง' จะถูกเสริมโดยใช้ อักขระ . ที่เฉพาะเจาะจง ด้วย ความกว้าง ค่าไปทางขวาโดยใช้สัญลักษณ์> เราสามารถใช้ <เพื่อเลื่อนไปทางซ้าย ^ ให้ตั้งตรงกลาง
format() วิธีการยังสามารถตัดสตริงโดยใช้ความยาวที่กำหนด ไวยากรณ์เป็นเหมือน −
‘{:.length}’.format(‘string’)สตริงจะถูกตัดออกจนถึงความยาวที่กำหนด
โค้ดตัวอย่าง
print('The Name is {} and Roll {}'.format('Jhon', 40))print('ค่าคือ {2}, {1}, {3}, {0}'.format (50, 70, 30, 15)) #Using positional parameterprint('Value 1:{val1}, value 2:{val2}'.format(val2 =20, val1=10)) #using ชื่อตัวแปร#Padding the stringsprint ('{:>{width}}'.format('Hello', width=20))print('{:_^{width}}'.format('Hello', width=20)) #วางที่ ศูนย์. และใส่อักขระ '_' #ตัดสตริงโดยใช้ lengthprint('{:.5}'.format('Python Programming')) ที่กำหนด #ใช้อักขระ 5 ตัวแรกเท่านั้นผลลัพธ์
ชื่อคือจอนและโรล 40ค่าคือ 30, 70, 15, 50ค่า 1:10, ค่า 2:20Hello_______Hello________Pythoเทมเพลตสตริง
สตริงเทมเพลตใช้เพื่อแทนที่สตริงด้วยวิธีที่ง่ายกว่า เทมเพลตรองรับการแทนที่โดยใช้อักขระ $ เมื่อ $identifier พบแล้วจะแทนที่ด้วยค่าใหม่ของตัวระบุ
ในการใช้เทมเพลตเป็นสตริง ไวยากรณ์พื้นฐานคือ −
myStr =string.Template(“$a จะถูกแทนที่”)myStr.substitute(a ='XYZ')ค่าของ a ในสตริงจะถูกแทนที่ด้วย 'XYZ' ในสตริง เราสามารถใช้พจนานุกรมเพื่อดำเนินการประเภทนี้ได้
โค้ดตัวอย่าง
my_template =string.Template("ค่าของ A คือ $X และค่าของ B คือ $Y")my_str =my_template.substitute(X ='Python', Y='Programming')print(my_str)my_dict ={'key1' :144, 'key2' :169}my_template2 =string.Template("อันแรก $key1 และอันที่สอง $key2")my_str2 =my_template2.substitute(my_dict)print(my_str2)ผลลัพธ์
ค่าของ A คือ Python และค่าของ B คือ Programming อันแรก 144 และอันที่สอง 169