去除大写字母和延长字符串中的收缩

时间:2015-07-13 17:29:38

标签: c++ input

我正在尝试更换任何大写字母以及延长字符串中使用的任何收缩。我正在努力寻找最快最有效的方法。

这是我的尝试,但无效:

注意: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>

1 个答案:

答案 0 :(得分:1)

您的帖子包含两个不同的问题,这两个问题都是重复的,您并不是说 “无效”。

删除大写

如果您使用的是的ASCII字符,那么您编写它的方式是正确的。 有关支持区域设置和其他编码的详细信息,请参阅this answer

更换宫缩

如果您希望它有效,这非常困难。 如果您只想逐个替换每个收缩,则不应使用replace(它只会替换字符,而不是子字符串)。看看this answer