【发布时间】:2013-12-09 18:32:20
【问题描述】:
我想解析一个字符串并替换该字符串中的某些字符我尝试使用分隔符但它不能正常工作。
这是我要解析的字符串:
chartData = [T44E-7 | x |G-7 | x |
Bb^7 | x |Bh7 |E7#9 |A-7 | x |F#h7 | x |F-7 | x Q |C-7 | x |B7#9 | x Z Y{QC-7 | x |Ab^7 | x }
这就是我想要的最终结果:
[T44E-7 | x |G-7 | x |
| Bb^7 | x |Bh7 |E7#9 |
|A-7 | x |F#h7 | x |
|F-7 | x Q |C-7 | x |
|B7#9 | x ||
|:QC-7 | x |Ab^7 | x :|
我还想用 % 替换 x,用 || 替换 Z,用 |: 替换 {,用 :| 替换 }。
这是我拥有的解析函数:
void parseChartData(string chartDataString){
string token;
if(!chartDataString.empty()){
chartData.clear();
chartData.append(chartDataString);
string delimiter = "|";
int pos = 0;
while ((pos = chartData.find(delimiter)) != pos) {
token = chartData.substr(0,pos);
cout << token << endl;
}
}
}
【问题讨论】:
-
问题是什么?
-
如何解析一个字符串,所以我每行只能显示 4 个条形