Python:
Zamiana liter w ciągu na wielkie
Jak to zrobić:
Korzystając z wbudowanej metody Pythona:
Python posiada wbudowaną metodę .capitalize()
dla ciągów znaków, która pozwala łatwo wykonać to zadanie.
my_string = "hello world"
capitalized_string = my_string.capitalize()
print(capitalized_string)
Wynik:
Hello world
Oto mój własny dostosowany capitalize()
, którego używam do budowania tej strony. Musiałem się upewnić, że specjalne słowa jak HTML zawsze są pisane wielkimi literami. To również demonstruje doctests:
def capitalize(string: str) -> str:
"""
Zamienia pierwszą literę ciągu na wielką literę.
Obsługuje specjalne przypadki jak "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')
)
Obsługa wielu słów:
W przypadkach, gdy chcesz, aby każde słowo w ciągu rozpoczynało się z dużej litery (tak jak w tytułach), można zastosować metodę .title()
.
my_title = "python programming essentials"
title_case = my_title.title()
print(title_case)
Wynik:
Python Programming Essentials
Korzystanie z bibliotek stron trzecich:
Chociaż standardowa biblioteka Pythona jest wyposażona w podstawowe możliwości zmiany wielkości liter ciągów, biblioteki takie jak textblob
mogą oferować bardziej subtelne sterowanie, szczególnie dla przetwarzania języka naturalnego.
Najpierw upewnij się, że masz zainstalowany textblob
:
pip install textblob
Następnie, użyj go do zmiany wielkości liter w ciągach, mając na uwadze, że sposób działania capitalize w textblob
może różnić się w zależności od kontekstu użycia:
from textblob import TextBlob
my_sentence = "this is a test sentence"
blob = TextBlob(my_sentence)
capitalized_blob = TextBlob(blob.string.capitalize())
print(capitalized_blob)
Wynik:
This is a test sentence
Pamiętaj, choć metody capitalize()
i title()
są uniwersalnie użyteczne, korzystanie z bibliotek takich jak textblob
może zapewnić dodatkową elastyczność dla konkretnych zastosowań.