การทำให้ตัวอักษรเป็นตัวใหญ่ในสตริง

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 สามารถให้ความยืดหยุ่นเพิ่มเติมสำหรับการใช้งานเฉพาะ.