【发布时间】:2014-02-02 14:09:20
【问题描述】:
string.IndexOf 方法有问题。
我有一个包含多个要提取的子字符串的字符串。
示例:
key=muchdata&key=muchdata&key=muchdata
这是输入字符串的简化结构。muchdata 可以包含每个 A-Za-z0-9 和特殊字符,如 !"§$%&/()=?
我想获取所有key= 字符串之间的数据。
首先我想使用一个正则表达式,但我无法创建一个有效的。
然后我考虑使用string.IndexOf.
所以我做了这样的事情:
int start = input.IndexOf("key=");
int end = input.IndexOf("&key=");
string sub = input.Substring(start, end);
不幸的是,这并没有按预期工作。有时它甚至会返回一个子字符串,但长度约为 30 个字符。
我构建了更多代码来检查 end == -1 是否到达末尾,这样我就得到了从 start 到整个字符串末尾的最后一个子字符串。
我真的不知道下一步该做什么:(
我错过了什么/做错了什么?
【问题讨论】:
-
看
Substring的参数。第二个不是索引,而是计数...