修改文本输入中的特定字符(C ++)

时间:2016-03-10 02:59:38

标签: c++ special-characters

我收到带有特殊字符的文字(例如á)所以我必须手动搜索并用代码替换每一个(在这种情况下为"á"

我想在用户输入后自动搜索和替换此类实例的代码。由于我是菜鸟,我会告诉你我到目前为止的代码 - 不管它多么微薄。

// 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;
}

谢谢!

1 个答案:

答案 0 :(得分:1)

一种简单的方法是使用替换字符串数组:

std::string  replacement_text[???];

这个想法是你使用传入的字符作为数组的索引并提取替换文本。

例如:

replacement_text[' '] = "&nbsp;";
// ...
std::string new_string = replacement_text[input_character];

另一种方法是使用switchcase转换字符。

替代技术是查找表和std::map。 查找表可以是映射结构的数组:

struct Entry
{
  char key;
  std::string replacement_text;
}

使用key字段搜索表格以匹配传入的字符。使用replacement_text获取替换文字。