【发布时间】:2012-06-17 16:37:38
【问题描述】:
关于 C++ 替换函数的小问题。我正在逐行解析每一行文本输入。文本文件示例:
SF27_34KJ
EEE_30888
KPD324222
4230_333
我需要删除每一行的所有下划线并用逗号替换它。当我尝试这样的事情时:
mystring.replace(mystring.begin(), mystring.end(), '_', ',');
在每一行 - 而不是 "SF27,34KJ" 我得到 95x "," 字符。有什么问题?
【问题讨论】:
-
您将
std::replace与string.replace混淆了。 -
简短解释:
std::replace替换字符串中所有出现的字符串,而string::replace仅替换指定位置的子字符串。