今天终于有分了, 再发一贴向大家请教, 可能用正则来做会简单和高效一些. 本帖最后由 LoveCcav 于 2010-10-14 10:12:28 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 void Main(){ string s1 = "abcdlkdfsldflasjflkajsdfasdsldfkjsdlkfj"; string s2 = "ab,fj,fsds,ldfk,kdf"; List<int> list = new List<int>(); //记录index foreach (string s in s2.Split(',')) { int m = s1.IndexOf(s); Console.WriteLine(m); list.Add(m); s1 = s1.Replace(s, ""); } Console.WriteLine(s1);}/*035-1263cdlsldflasjflkajsdfasdsjsdlk*/ 如果str2里的字符串,在str1里多次出现呢? void Main(){ string s1 = "abcdlkdfsldflasjflkajsdfasdsldfkjsdlkfj"; string s2 = "ab,fj,fsds,ldfk,kdf"; List<int> list = new List<int>(); //记录index foreach (Match m in Regex.Matches(s2+",",@"\w*(?=,)")) { if(m.Value.Length>0) { int n = s1.IndexOf(m.Value); Console.WriteLine(n); list.Add(n); s1 = s1.Replace(m.Value, ""); } } Console.WriteLine(s1);}/*035-1263cdlsldflasjflkajsdfasdsjsdlk*/ 不知道把Replace这句话 ,改成 s1 = s1.Remove(m.Index, m.length);能不能达到效果 . foreach (string s in s2.Split(',')){ int index = s1.IndexOf(s); lst.Add(m); s1 = s1.Remove(index, "").} 这样也不能解决 重复出现的问题 , 我改用双循环, 内层 while(s1.IndexOf(s) != -1) C#二次开发中,如何获取地图的动态比例尺 随机洗牌的误区 一个错误大家帮我看一下是什么原因 客户端访问服务器端的语句问题? “该文件正由另一进程使用”,想了很久也不明白! 泛型操作, 传入该类操作那一个具体类. web应用程序中DropDownList的选值问题 在线等 WINFROM 中怎么打印PANEL 里面的内容?? C#读入整数问题 c#编程规范 80分:如何使用C#代码改写C++重写运算符的代码? 求一个正则
void Main()
{
string s1 = "abcdlkdfsldflasjflkajsdfasdsldfkjsdlkfj";
string s2 = "ab,fj,fsds,ldfk,kdf";
List<int> list = new List<int>(); //记录index
foreach (string s in s2.Split(','))
{
int m = s1.IndexOf(s);
Console.WriteLine(m);
list.Add(m);
s1 = s1.Replace(s, "");
} Console.WriteLine(s1);
}/*
0
35
-1
26
3
cdlsldflasjflkajsdfasdsjsdlk*/
void Main()
{
string s1 = "abcdlkdfsldflasjflkajsdfasdsldfkjsdlkfj";
string s2 = "ab,fj,fsds,ldfk,kdf"; List<int> list = new List<int>(); //记录index
foreach (Match m in Regex.Matches(s2+",",@"\w*(?=,)"))
{
if(m.Value.Length>0)
{
int n = s1.IndexOf(m.Value);
Console.WriteLine(n);
list.Add(n);
s1 = s1.Replace(m.Value, "");
}
} Console.WriteLine(s1);
}
/*
0
35
-1
26
3
cdlsldflasjflkajsdfasdsjsdlk*/
能不能达到效果 .
{
int index = s1.IndexOf(s);
lst.Add(m);
s1 = s1.Remove(index, "").
}
这样也不能解决 重复出现的问题 , 我改用双循环, 内层 while(s1.IndexOf(s) != -1)