Qt; QString 内のすべての単語の最初の文字を大文字にする最良の方法は何ですか?



正規表現を考えていますが、それは正確には読めません。 s.toUpper() のような関数もあります 考慮すべきこと、そしておそらく他のことも同様です。


では、QString 内の単語の最初の文字を大文字にする最良の方法は何ですか?


答え:


この例を参考にすると、次のようなことができます:


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 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("
");
}