Python:
การทำให้ตัวอักษรเป็นตัวใหญ่ในสตริง
วิธีการ:
การใช้เมธอดในตัวของ Python:
Python มีเมธอดในตัว .capitalize()
สำหรับสตริงเพื่อทำภารกิจนี้ได้ง่ายขึ้น
my_string = "hello world"
capitalized_string = my_string.capitalize()
print(capitalized_string)
ผลลัพธ์:
Hello world
นี่คือ capitalize()
ที่ฉันปรับแต่งเองที่ฉันใช้ในการสร้างเว็บไซต์นี้ ฉันต้องการให้แน่ใจว่าคำพิเศษ เช่น HTML ยังคงเป็นตัวพิมพ์ใหญ่ทั้งหมด นอกจากนี้ยังแสดงถึงการใช้ doctests:
def capitalize(string: str) -> str:
"""
ทำให้ตัวอักษรตัวแรกเป็นตัวพิมพ์ใหญ่ รวมถึงการจัดการกับกรณีพิเศษ เช่น "HTML".
>>> capitalize("this is html, csv, xml, and http (no REPL).")
'This is HTML, CSV, XML, and HTTP (no REPL).'
>>> capitalize("this is json, VBA, an IDE, and yaml in the CLI.")
'This is JSON, VBA, an IDE, and YAML in the CLI.'
"""
return (
string
.capitalize()
.replace('cli', 'CLI')
.replace('csv', 'CSV')
.replace('html', 'HTML')
.replace('http', 'HTTP')
.replace('ide', 'IDE')
.replace('json', 'JSON')
.replace('repl', 'REPL')
.replace('vba', 'VBA')
.replace('xml', 'XML')
.replace('yaml', 'YAML')
)
การจัดการกับคำหลายคำ:
สำหรับสถานการณ์ที่คุณต้องการให้ทุกคำในสตริงเริ่มต้นด้วยตัวพิมพ์ใหญ่ (เช่น ชื่อเรื่อง) คุณสามารถใช้เมธอด .title()
ได้
my_title = "python programming essentials"
title_case = my_title.title()
print(title_case)
ผลลัพธ์:
Python Programming Essentials
การใช้ไลบรารีจากบุคคลที่สาม:
ในขณะที่ไลบรารีมาตรฐานของ Python สามารถใช้สำหรับการทำให้ตัวอักษรเป็นตัวพิมพ์ใหญ่ได้พื้นฐาน, ไลบรารีเช่น textblob
สามารถให้การควบคุมที่ละเอียดอ่อนกว่า, เฉพาะสำหรับการประมวลผลภาษาธรรมชาติ
ก่อนอื่น, ตรวจสอบว่าคุณมี textblob
ติดตั้ง:
pip install textblob
จากนั้น, ใช้มันเพื่อทำให้สตริงเป็นตัวพิมพ์ใหญ่, โดยต้องจำไว้ว่า textblob
อาจทำงานแตกต่างกันไปตามบริบทของการใช้งาน:
from textblob import TextBlob
my_sentence = "this is a test sentence"
blob = TextBlob(my_sentence)
capitalized_blob = TextBlob(blob.string.capitalize())
print(capitalized_blob)
ผลลัพธ์:
This is a test sentence
จำไว้ว่า ในขณะที่เมธอด capitalize()
และ title()
เป็นประโยชน์โดยทั่วไป การใช้ไลบรารีเช่น textblob
สามารถให้ความยืดหยุ่นเพิ่มเติมสำหรับการใช้งานเฉพาะ.