828 Stimmen

Wie kann ich den ersten Buchstaben eines jeden Wortes in einer Zeichenfolge groß schreiben?

s = 'the brown fox'

...hier etwas tun...

s sein sollte:

'The Brown Fox'

Wie lässt sich das am einfachsten bewerkstelligen?

6voto

chuckfinley Punkte 2527

Wie Mark schon sagte, sollten Sie die .title() :

"MyAwesomeString".title()

Wenn Sie jedoch den ersten Buchstaben in Großbuchstaben schreiben möchten innerhalb einer Django-Vorlage können Sie dies verwenden:

{{ "MyAwesomeString"|title }}

Oder eine Variable verwenden:

{{ myvar|title }}

4voto

Soren Punkte 6060

Die vorgeschlagene Methode str.title() funktioniert nicht in allen Fällen. Zum Beispiel:

string = "a b 3c"
string.title()
> "A B 3C"

anstelle von "A B 3c" .

Ich denke, es ist besser, so etwas zu tun:

def capitalize_words(string):
    words = string.split(" ") # just change the split(" ") method
    return ' '.join([word.capitalize() for word in words])

capitalize_words(string)
>'A B 3c'

2voto

Tejas Tank Punkte 978

Wörter groß schreiben...

str = "this is string example....  wow!!!";
print "str.title() : ", str.title();

Kommentar von @Gary02127, die folgende Lösung funktioniert mit Titeln mit Apostroph

import re

def titlecase(s):
    return re.sub(r"[A-Za-z]+('[A-Za-z]+)?", lambda mo: mo.group(0)[0].upper() + mo.group(0)[1:].lower(), s)

text = "He's an engineer, isn't he? SnippetBucket.com "
print(titlecase(text))

2voto

Augustine Jose Punkte 935

Die Methode .title() wird nicht in allen Testfällen funktionieren. Daher ist es am besten, .capitalize(), .replace() und .split() zusammen zu verwenden, um den ersten Buchstaben eines jeden Wortes groß zu schreiben.

z.B.: def caps(y):

     k=y.split()
     for i in k:
        y=y.replace(i,i.capitalize())
     return y

2voto

Omar Punkte 123

Probieren Sie es aus. Einfach und sauber.

def cap_each(string):
    list_of_words = string.split(" ")

    for word in list_of_words:
        list_of_words[list_of_words.index(word)] = word.capitalize()

    return " ".join(list_of_words)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X