c#里如何在一个字符串内查找所有子字符串所在的位置?并保存到一个数组内?
发布网友
发布时间:2022-10-28 11:36
我来回答
共5个回答
热心网友
时间:2023-10-07 11:09
代码其实很简单,用一个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开始)
}
*/
热心网友
时间:2023-10-07 11:09
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(); //你要的数组
热心网友
时间:2023-10-07 11:10
在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 也是如此 可以这样区自字符串,希望对你有所帮助
热心网友
时间:2023-10-07 11:10
这个不太好分析,
ssddxx等级:12kkkcxc12kkk等级:31 那个12可以分开来 等级为1 2kkkcxc 或者等级为12 kkkcxc 你说呢
热心网友
时间:2023-10-07 11:11
这个问题适合用正则来解决
热心网友
时间:2023-10-07 11:09
代码其实很简单,用一个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开始)
}
*/
热心网友
时间:2023-10-07 11:09
代码其实很简单,用一个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开始)
}
*/
热心网友
时间:2023-10-07 11:09
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(); //你要的数组
热心网友
时间:2023-10-07 11:09
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(); //你要的数组
热心网友
时间:2023-10-07 11:10
在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 也是如此 可以这样区自字符串,希望对你有所帮助
热心网友
时间:2023-10-07 11:10
在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 也是如此 可以这样区自字符串,希望对你有所帮助
热心网友
时间:2023-10-07 11:10
这个不太好分析,
ssddxx等级:12kkkcxc12kkk等级:31 那个12可以分开来 等级为1 2kkkcxc 或者等级为12 kkkcxc 你说呢
热心网友
时间:2023-10-07 11:11
这个问题适合用正则来解决
热心网友
时间:2023-10-07 11:10
这个不太好分析,
ssddxx等级:12kkkcxc12kkk等级:31 那个12可以分开来 等级为1 2kkkcxc 或者等级为12 kkkcxc 你说呢
热心网友
时间:2023-10-07 11:11
这个问题适合用正则来解决