我正在尝试更换任何大写字母以及延长字符串中使用的任何收缩。我正在努力寻找最快最有效的方法。
这是我的尝试,但无效:
注意:ur
是'未定义的输入'
//Removing Capitals
std::transform(ur.begin(), ur.end(), ur.begin(), ::tolower);
//Removing Contractions
std::replace( ur.begin(), ur.end(), "it's", "it is");
这是程序中包含的内容
#include <iostream>
#include <string>
#include <algorithm>
答案 0 :(得分:1)
您的帖子包含两个不同的问题,这两个问题都是重复的,您并不是说 “无效”。
删除大写
如果您使用的是仅的ASCII字符,那么您编写它的方式是正确的。 有关支持区域设置和其他编码的详细信息,请参阅this answer。
更换宫缩
如果您希望它有效,这非常困难。
如果您只想逐个替换每个收缩,则不应使用replace
(它只会替换字符,而不是子字符串)。看看this answer。