如何把字符串中相同的字符显示出来呢?
比如字符串里有1,2,3,4,5,6,7,8,9,1,a,b,c,d,e,f.......很多,
但是只有“1”是重复出现的,我想把1单独显示出来,如何做啊?谢谢!
比如字符串里有1,2,3,4,5,6,7,8,9,1,a,b,c,d,e,f.......很多,
但是只有“1”是重复出现的,我想把1单独显示出来,如何做啊?谢谢!
解决方案 »
- 抛出异常的问题
- 求救,关于2个小系统想整合成1个系统
- 紧急求问个基础的asp.net 控件用法
- MVC3 Razor 视图页面报System.OutOfMemoryException异常
- 怎样用js调用webservice的内容?
- asp.net 弹出窗口问题 挑战性问题(死活就是不弹出来)
- 清家荡产,高分求解:在vs2005中添加引用System.Management.DLL,程序发布在win2003/XP下都好用,可在win2000下却不行,何故?
- 动态验证的问题!!!
- 这个市什么原因呢?DropDownList中有SeletedItem对象吗,老是出错。
- 急求关于SQL ,ASP.NET的外文,最好有翻译
- 网站站内短信系统设计
- treeview 控件 为什么点击哪个节点 他都显示在第一个节点上
就把1输出到Label2.Text上就可以了。没有其他的,只要现出1来就可以。
然后用for进行分别比较 找到相同的就显示出来
public static string void GetFoo(string source)
{
int c=0;
for(int i=0;i<source.Length;i++)
{
if(source[i]=='1')c++;
}
return new string('1',c);
}如果是我上面说的意思,那代码就是上面这个(返回指定字符串source中的1)。
调用方法是
txtBox1.Text = GetFoo(source);
using System.Text.RegularExpressions;class Test
{
static void Main()
{
string s = "abc12345DEF1TK";
Match m = Regex.Match(s, @"(.).*\1");
if (m.Groups.Count > 1)
{
string t = m.Groups[1].Value; // 这就是你要的
Console.WriteLine(t);
}
}
}
也就是:
1:如果有多个重复的字符,这个函数只返回第一个;
2:没办法知道重复了几次;
3:代码效率比较低,如果这个函数需要执行很多次,且字符串很长,请注意优化。private static char FirstDuplicateChar(string source)
{
for (int i = 0; i < source.Length; i++)
{
char c = source[i];
if (source.IndexOf(c, i + 1) == -1)
continue;
else
return c;
}
return ' '; //没有查找到重复串返回空格
}
string strTemp = "1,2,f,4,2,6,7,8,9,1,a,b,c,d,e,f";
string []strArr = strTemp.Split(',');
string []strArrTemp=strArr;
for (int i=0;i<strArr.Length;i++)
{
if (i==0) continue;
strTemp = string.Join(",",strArrTemp,i,strArrTemp.Length-i);
if(strTemp.IndexOf(strArr[i-1])>=0)
{
this.Label1.Text+=strArr[i-1]+",";
}
}
if (this.Label1.Text.Length>0)
{
this.Label1.Text=this.Label1.Text.Substring(0,this.Label1.Text.Length-1);
}//测试通过.
char[] c = s.ToCharArray();
Array.Sort(c);
char c1 = '\0'; for (int i = 0; i < c.Length; )
{
c1 = c[i];
int k = new string(c).LastIndexOf(c1.ToString()); if (i != k)
{
Console.WriteLine(c1);
i = k;
}
else
{
i++;
}
}//如果你的字符串是以,分隔的就string.split(',')到一个数组,下面稍微改下就可以了
2
3
4
5
a
d
e
f
g
j
r
s
t