字符串替换和奇怪的字符
String replacement and strange characters
我在char*
中有一个HTML数据,我想逐行获取它,进行一些替换,然后将它们全部加成一个字符串。这是我使用的代码
std::string to, finalData;
finalData = "";
char* char_array = strtok(data, "n");
while(char_array){
finalData += std::string(char_array);
char_array = strtok(NULL, "n");
}
问题是我在此末尾获得的数据(finalData
)有很多^M
字符,我无法搜索它,因为它具有特殊字符。有没有办法完全消除角色?我猜它与从 c 数组到 c++ 字符串的转换有关,并且与n
有关,因为选项卡由 ^I
表示,cntrl 表示为 ^
您似乎在Windows系统上,或者数据源自Windows系统。在 Windows 系统上,换行符实际上是两个字符:"rn"
。你看到的^M
是换行符序列的回车符('r'
)。
删除这些额外字符的一种方法是在循环中使用std::string::find
和std::string::erase
。
另一种方法是逐个字符手动复制到新std::string
,除非该字符'r'
。
相关文章:
- 生成随机.txt文件,10行,10列。充满随机:"*"、"#"、"@"。然后将随机字符替换为'P'
- 我想仅使用递归将字符"a"替换为字符"z"
- 将一个字符替换为字符串中更多数量的字符,而不删除C++中的其他字母
- 如何将像'A'这样的单个字符替换为类似"10"?
- Qt:文件名中的非 ASCII 字符替换为"?"
- 我无法用字符替换重复的数字"a"
- QtLineEdit 占位符:如何让用户在插入模式下将字符 1 替换为 1
- 将一个特定字符替换为正则表达式匹配中的另一个字符
- 如何将所有出现的字符替换为给定的字符串
- 将一个数组到另一个数组的字符替换为字符串
- C++ 字符串,用于删除字符'b'并将字符'a'替换为两个'd'的构建函数
- 将字符串中的所有非 ASCII 字符替换为其等效的 ASCII
- 将utf8编码的字符串转换为本地8位编码的字符串,并将无法确定的字符替换为空白
- C++-用非ascii字符替换文件中的特殊字符
- 将字符串中的 č,š,ć 等字符替换为其 html 代码C++
- 用连字符替换字符串中的文本
- 用不同字符替换单词的代码
- 将空白字符替换为 %20 的字符串,忽略所有尾随空格
- 将部分字符*替换为较小的字符*
- 将字符串中的字符替换为某个字符串