我收到带有特殊字符的文字(例如á)所以我必须手动搜索并用代码替换每一个(在这种情况下为"á"
)
我想在用户输入后自动搜索和替换此类实例的代码。由于我是菜鸟,我会告诉你我到目前为止的代码 - 不管它多么微薄。
// Text fixer
#include <iostream>
#include <fstream>
#include <string>
int main(){
string input;
cout << "Input text";
cin >> input;
// this is where I'm at a loss. How should I manipulate the variable?
cout << input;
return 0;
}
谢谢!
答案 0 :(得分:1)
一种简单的方法是使用替换字符串数组:
std::string replacement_text[???];
这个想法是你使用传入的字符作为数组的索引并提取替换文本。
例如:
replacement_text[' '] = " ";
// ...
std::string new_string = replacement_text[input_character];
另一种方法是使用switch
和case
转换字符。
替代技术是查找表和std::map
。
查找表可以是映射结构的数组:
struct Entry
{
char key;
std::string replacement_text;
}
使用key
字段搜索表格以匹配传入的字符。使用replacement_text
获取替换文字。