c#里如何在一个字符串内查找所有子字符串所在的位置?并保存到一个数组内?

c#里如何在一个字符串内查找所有子字符串所在的位置?并保存到一个数组内?比如字符串A=“ssddxx等级:12kkkcxc12kkk等级:31sxsd1xd等级:52kk... c#里如何在一个字符串内查找所有子字符串所在的位置?并保存到一个数组内?比如字符串A=“ssddxx等级:12kkkcxc12kkk等级:31sxsd1xd等级:52kkkcsdfsdf2k等级:44”子字符串="等级"字符串长度不是固定的, 展开
 我来答
匿名用户
2013-04-01
展开全部
代码其实很简单,用一个while循环既可以:IList<int> list = new List<int>(); // ArrayList list = new ArrayList();
string a = "ssddxx等级:12kkkcxc12kkk等级:31sxsd1xd等级:52kkkcsdfsdf2k等级:44";
string b = "等级";

int pos = a.IndexOf(b);
while(pos > -1)
{
list.Add(pos);
pos += b.Length;
if(pos >= a.Length) break;
pos = a.IndexOf(b, pos);
}
/*
foreach(int i in list)
{
//i 为每个匹配b字符串的开始位置(从0开始)
}
*/
百度网友94f02eb
推荐于2018-05-04 · TA获得超过8612个赞
知道大有可为答主
回答量:7955
采纳率:74%
帮助的人:4492万
展开全部
List<int> subIndex = new List<int>();
string A = "ssddxx等级:12kkkcxc12kkk等级:31sxsd1xd等级:52kkkcsdfsdf2k等级:44";
int ii = A.IndexOf("等级");
while (ii >= 0 && ii < A.Length)
{
subIndex.Add(ii);
ii = A.IndexOf("等级", ii + 1);
}

int[] arrIndex = subIndex.ToArray(); //你要的数组
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d11c540
2013-04-01
知道答主
回答量:8
采纳率:0%
帮助的人:1.1万
展开全部
在PHP中使用 explode() 方法可以得到 等级: 之前的字符串并转入数组
例如
$c=explode("等级:","ssddxx等级:12kkkcxc12kkk等级:31sxsd1xd等级:52kkkcsdfsdf2k等级:44");
echo $c[0]; //ssddxx
echo $c[1]; //12kkkcxc12kkk
echo $c[2]; //31sxsd1xd
echo $c[3]; //52kkkcsdfsdf2k

相信.net 也是如此 可以这样区自字符串,希望对你有所帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夕旧军7663
2013-04-01
知道答主
回答量:11
采纳率:0%
帮助的人:4万
展开全部
这个不太好分析,
ssddxx等级:12kkkcxc12kkk等级:31 那个12可以分开来 等级为1 2kkkcxc 或者等级为12 kkkcxc 你说呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lijun_zhu
2013-03-31 · TA获得超过131个赞
知道答主
回答量:33
采纳率:0%
帮助的人:17.7万
展开全部
这个问题适合用正则来解决
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式