In Qt; Was ist die beste Methode, um den ersten Buchstaben jedes Wortes in einem QString groß zu schreiben?

 C Programming >> C-Programmierung >  >> Tags >> Qt
In Qt; Was ist die beste Methode, um den ersten Buchstaben jedes Wortes in einem QString groß zu schreiben?


Ich denke an reguläre Ausdrücke, aber das ist nicht genau lesbar. Es gibt auch Funktionen wie s.toUpper() zu berücksichtigen, und wahrscheinlich auch andere Dinge.


Was ist also die beste Methode, um den ersten Buchstaben von Wörtern in einem QString groß zu schreiben?


Antworten:


Wenn Sie dieses Beispiel als Referenz verwenden, können Sie Folgendes tun:


QString toCamelCase(const QString& s)
{
QStringList parts = s.split(' ', QString::SkipEmptyParts);
for (int i = 0; i < parts.size(); ++i)
parts[i].replace(0, 1, parts[i][0].toUpper());
return parts.join(" ");
}

Einige Code-Antworten


QString toCamelCase(const QString&
s) {
QStringList parts = s.split(' ', QString::SkipEmptyParts);
for (int i = 0;
i <
parts.size();
++i)
parts[i].replace(0, 1, parts[i][0].toUpper());
return parts.join(" ");
}
QString toCamelCase(const QString&
s) {
QStringList cased;
foreach (QString word, s.split("
", QString::SkipEmptyParts))cased <<
word.at(0).toUpper() + word.mid(1);
return cased.join("
");
}
QString capitalise_each_word(const QString&
sentence) { QStringList words = sentence.split("
", Qt::SkipEmptyParts);
for (QString&
word : words)
word.front() = word.front().toUpper();
return words.join("
");
}