c#里如何在一个字符串内查找所有子字符串所在的位置?并保存到一个数组内?
c#里如何在一个字符串内查找所有子字符串所在的位置?并保存到一个数组内?比如字符串A=“ssddxx等级:12kkkcxc12kkk等级:31sxsd1xd等级:52kk...
c#里如何在一个字符串内查找所有子字符串所在的位置?并保存到一个数组内?比如字符串A=“ssddxx等级:12kkkcxc12kkk等级:31sxsd1xd等级:52kkkcsdfsdf2k等级:44”子字符串="等级"字符串长度不是固定的,
展开
6个回答
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开始)
}
*/
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开始)
}
*/
展开全部
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(); //你要的数组
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(); //你要的数组
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在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 也是如此 可以这样区自字符串,希望对你有所帮助
例如
$c=explode("等级:","ssddxx等级:12kkkcxc12kkk等级:31sxsd1xd等级:52kkkcsdfsdf2k等级:44");
echo $c[0]; //ssddxx
echo $c[1]; //12kkkcxc12kkk
echo $c[2]; //31sxsd1xd
echo $c[3]; //52kkkcsdfsdf2k
相信.net 也是如此 可以这样区自字符串,希望对你有所帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个不太好分析,
ssddxx等级:12kkkcxc12kkk等级:31 那个12可以分开来 等级为1 2kkkcxc 或者等级为12 kkkcxc 你说呢
ssddxx等级:12kkkcxc12kkk等级:31 那个12可以分开来 等级为1 2kkkcxc 或者等级为12 kkkcxc 你说呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个问题适合用正则来解决
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询