我有一个std::string,希望第一个字母大写,其余的小写。
我可以做到这一点的一种方法是:
const std::string example("eXamPLe");
std::string capitalized = boost::to_lower_copy(example);
capitalized[0] = toupper(capitalized[0]);
这将产生
capitalized
为:但是,也许有更直接的方法可以做到这一点?
最佳答案
如果字符串确实只是一个单词,则std::string capitalized = boost::locale::to_title (example)
应该这样做。否则,您所拥有的将非常紧凑。
编辑:刚注意到boost::python
命名空间具有str
类和capitalize()
方法,听起来像它适用于多字串(假设您要描述的内容而不是标题的大小写)。但是,仅使用python字符串获得该功能可能不是一个好主意。
关于c++ - 如何在C++字符串中大写单词?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15369910/