求一个字符串的处理方法。 用 Tostring().indexof()函数 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 全部把“a,” Replace掉再在前面加一个“a,” 没有这幺简单吧。字符串s=”a,b,a,c,e,e,d”﹐首先要挑出重复的”a”和”e”(a和e只是举个例﹐事先并不知)。然后才s=”a,b,c,e,d”. private string getStr(string replaceStr, string replaceChr){ string[] replaceArr = replaceStr.Split(','); bool getChar = false; for(int i = 0; i < replaceArr.Length; i++) { if(replaceChr == replaceArr[i]) { if(!getChar) { getChar = true; } else { replaceArr[i] = ""; } } } string returnStr = ""; for(int i = 0; i < replaceArr.Length; i++) if(replaceArr[i] != "") returnStr += replaceArr[i] + ","; if(returnStr.Length > 0) returnStr = returnStr.Substring(0,returnStr.Length-1); return returnStr;}this.getStr("a,b,c,a,d,e,f,a","a"); and you get "a,b,c,d,e,f" string strR="a,b,c,a,d,e,f,a"; System.Text.StringBuilder strBuilder= new System.Text.StringBuilder( "a,b,c,a,d,e,f,a"); strBuilder.Replace("a","",strR.IndexOf("a",0)+1,strR.Length-1); this.Label1.Text=strBuilder.ToString(); 楼上的重复”a”﹐只是举个例。如果知道”a”是重复的﹐用三楼的replace方法就可以呀_________________________________________________________________________________________________________________________________________________没有这幺简单吧。字符串s=”a,b,a,c,e,e,d”﹐首先要挑出重复的”a”和”e”(a和e只是举个例﹐事先并不知)。然后才s=”a,b,c,e,d”. 我觉得wincore(七点)的方法应该可行性高点. 7点:我不知道你试过你的方法没有,但是我觉得你的方法做出来的结果应该是"a,b,c,,d,e,f,"或者应该修改程序:strBuilder.Replace("a","",strR.IndexOf("a,",0)+1,strR.Length-1);但是这样的话最后一个"a"又去不掉了.除非最后再做一次判断就可以了.另外楼主你的用意我不是很明白,到底要做什么?去掉所有重复的???那就执行n次getStr(..)好了. 我觉得wincore(七点)的方法应该可行性高点. 经典的方法,值得嘉奖!! 没写清楚,我的意思是﹕假如一字符串s=”a,b001,c,b001,a,d”﹐要求把其中有重复的字符去掉﹐且该重复字符只保留本身一个。既最后结果s=”a,b001,c,d”。 谢谢各位的鼓励!graying(Graying.net)确实是“,”有问题,但是你可以再写个小函数搞定啊,如果遇到两个以上连续的都后就替换为一个。不清楚楼主的意图!如果要找到哪个字符是重复的,也是有方法的,找到以后再把结果送入函数进行去处! To:7點及 graying(Graying.net)﹕你們的方法和一個簡單的s.Replace ("a","")出來的簡結果有什么區別﹗﹗真的是昏倒。有沒有認真分析題意﹗﹗﹗__________________________________________________________________________我的意思是﹕假如一字符串s=”a,b001,c,b001,a,d”﹐要求把其中有重复的字符去掉﹐且该重复字符只保留本身一个。既最后结果s=”a,b001,c,d”。 真气人,帮你解题还说我没认真分析,我是看着你的第一贴就开始写代码的,谁知道你后来又改要求了。你自己有认真看过我的代码吗?真的和replace一样结果么?你要多个重复都去掉就先split到一个数组然后对每个单词都进行getStr操作不就行了。 创建xml 请教大家,关于邮件服务器的正则表达式 谁有关于反射,委托,泛型的项目 菜鸟求救,大虾看看吧 用线程Thread调用Timer时,为什么Timer没有反应,用的是Form下的Timer 怎样使我的程序启动前先检查.net framework版本 有谁用过Formula One 8? DataGridViewComboBoxColumn列为空 C# 与数据库连接。。。。。。。。 请教关于C#中的Shell操作? 郁闷,电脑坏了,散分! 请教,VC和VC.NET有何区别?
再在前面加一个“a,”
{
string[] replaceArr = replaceStr.Split(',');
bool getChar = false;
for(int i = 0; i < replaceArr.Length; i++)
{
if(replaceChr == replaceArr[i])
{
if(!getChar)
{
getChar = true;
}
else
{
replaceArr[i] = "";
}
}
}
string returnStr = "";
for(int i = 0; i < replaceArr.Length; i++)
if(replaceArr[i] != "")
returnStr += replaceArr[i] + ",";
if(returnStr.Length > 0)
returnStr = returnStr.Substring(0,returnStr.Length-1);
return returnStr;
}this.getStr("a,b,c,a,d,e,f,a","a");
System.Text.StringBuilder strBuilder= new System.Text.StringBuilder( "a,b,c,a,d,e,f,a");
strBuilder.Replace("a","",strR.IndexOf("a",0)+1,strR.Length-1);
this.Label1.Text=strBuilder.ToString();
_________________________________________________________________________
________________________________________________________________________
没有这幺简单吧。字符串s=”a,b,a,c,e,e,d”﹐首先要挑出重复的”a”和”e”(a和e只是举个例﹐事先并不知)。然后才s=”a,b,c,e,d”.
或者应该修改程序:strBuilder.Replace("a","",strR.IndexOf("a,",0)+1,strR.Length-1);
但是这样的话最后一个"a"又去不掉了.除非最后再做一次判断就可以了.另外楼主你的用意我不是很明白,到底要做什么?去掉所有重复的???那就执行n次getStr(..)好了.
经典的方法,值得嘉奖!!
假如一字符串s=”a,b001,c,b001,a,d”﹐要求把其中有重复的字符去掉﹐且该重复字符只保留本身一个。既最后结果s=”a,b001,c,d”。
graying(Graying.net)确实是“,”有问题,但是你可以再写个小函数搞定啊,如果遇到两个以上连续的都后就替换为一个。不清楚楼主的意图!
如果要找到哪个字符是重复的,也是有方法的,找到以后再把结果送入函数进行去处!
你們的方法和一個簡單的s.Replace ("a","")出來的簡結果有什么區別﹗﹗真的是昏倒。
有沒有認真分析題意﹗﹗﹗
__________________________________________________________________________
我的意思是﹕
假如一字符串s=”a,b001,c,b001,a,d”﹐要求把其中有重复的字符去掉﹐且该重复字符只保留本身一个。既最后结果s=”a,b001,c,d”。