C#中怎么判断2个字符串有多少个字符是相同的
作者&投稿:廖娣 (若有异议请与网页底部的电邮联系)
string str1 = "abcd123";string str2 = "bc1kmn"; var list = from x in str1 select new { Nchar = x, Icount = str2.Count(c=>c == x) }; foreach(var obj in list.Where(a=>a.Icount > 0)) { Console.WriteLine("{0}出现{1}", obj.Nchar, obj.Icount); } Console.ReadKey();LinQ+Lambda
string a="无法访问服务器";
string b="无法正常访问服务器";
int i=0;
foreach(char c in a)
{
if(b.IndexOf(c)>-1)
i++;
}
i就是相同汉字数
{
int count=0;/*相同字符个数*/
int n = s1.Length > s2.Length ? s2.Length : s1.Length;/*获得较短的字符串的长度*/
for (int i = 0; i < n; i++)
{
if (s1.Substring(i, 1) == s2.Substring(i, 1))/*同位置字符是否相同*/
{
count++;
}
}
return count;
}
可以声明两个个为char 的数组,然后将字符串分离,这样你就获得了字符串里面的字符了,
然后用两个嵌套的for循环,判断有哪些字符时相同的,然后再判断有几个就OKl乐
string ss = "asdfasdfas";
string bb = "234dfadf";
///先去除ss中的重复字符
StringBuilder sb = new StringBuilder();
foreach (char c in ss)
{
bool b = false;
for (int i = 0; i < sb.Length; i++)
{
if (c == sb[i])
{
b = true;
}
}
if (!b)
{
sb.Append(c);
}
}
Console.WriteLine(sb.ToString() );
//清楚bb中的重复项 可以把上述两部分代码写到一个函数里执行
StringBuilder sb2 = new StringBuilder();
foreach (char c in bb )
{
bool b = false;
for (int i = 0; i < sb2.Length; i++)
{
if (c == sb2[i])
{
b = true;
}
}
if (!b)
{
sb2.Append(c);
}
}
Console.WriteLine(sb2.ToString());
//遍历集合 计算相同字符数
int sum=0;
for (int j = 0; j < sb2.Length; j++)
{
bool b = false;
for (int i=0;i<sb.Length;i++)
{
if (sb[i] == sb2[j])
{
sum = sum + 1;
}
}
}
Console.WriteLine(sum );
private void button1_Click(object sender, EventArgs e)
{
string str1 = textBox1.Text.ToString();
string str2 = textBox2.Text.ToString();
int count_a=str1.Length;
int count_b=str2.Length ;
char[] a = str1.ToCharArray();
char[] b = str2.ToCharArray();
int s = 0;
for (int i = 0; i < count_a; i++)
{
for (int j = 0; j < count_b; j++)
{
if (a[i] == b[j])
{
s++;
continue;
}
}
}
if (s == 0)
{
MessageBox.Show("没有相同的字符");
}
else
{
MessageBox.Show("相同的字符个数是" + s);
}
}
}
藤唐硼酸: 1、str.Contain();可以判断是否包含某一字符,但是你要个数,那么可以while(str.Contain())循环处理,包含就把它删掉,然后一直处理下去直到不包含该字符位置,这样个数就出来了,有点小复杂不知道你老有没有明白. 2、我印象中用正则表达式可以直接获得包含字符的个数,具体也忘了,你可以查下C# 正则表达式...实在你找不到,我帮你找..
拜城县13732295426: C# 怎么判断textbox1.text字符个数 - ?
藤唐硼酸: 如果你的textbox里只能输入英文和数字的话,字符的个数就等于字符串的长度textbox1.text.length 如果textbox里面允许输入汉字的话就要加以判断汉字的个数,一个汉字是两个字符,统计字符个数时得注意
拜城县13732295426: c#查询字符串内有多少个指定字符 - ?
藤唐硼酸: char c='d'; int Count=s.ToCharArray().Count(x=>x==c);
拜城县13732295426: C#中怎么判断2个字符串有多少个字符是相同的 - ?
藤唐硼酸: 可以声明两个个为char 的数组,然后将字符串分离,这样你就获得了字符串里面的字符了, 然后用两个嵌套的for循环,判断有哪些字符时相同的,然后再判断有几个就OKl乐
拜城县13732295426: C#中怎么判断2个字符串有多少个字符是相同的?
藤唐硼酸: #region 两字符串中有几个相同字符 /// <summary> /// 两字符串中有几个相同字符 /// </summary> /// <param name="fir">第一个字符串</param> /// <param name="sec">第二个字符串</param> /// <returns></returns> public int Same(string fir, ...
拜城县13732295426: C#怎么判断一个字符串中汉字的个数 - ?
藤唐硼酸: Regex.Matches(str,@"a").Count
拜城县13732295426: c# 中怎么判断字符个数 - ?
藤唐硼酸: Regex testregex = new Regex("@"); String s = "1234@2345@4567@7890"; MatchCollection ms = testregex.Matches(s); int count=ms.Count; 记得加上using System.Text.RegularExpressions;
拜城县13732295426: C#正则表达式判断字符串中是否有数 - ?
藤唐硼酸: 这个问题之前 就有人问过 也回答过 只是没用正则表达式 public bool ContainsNum(string texts) //判断是否输入数字的方法(不包含小数) texts 是传入的文本{bool IsContain = false;int[] num = new int[10] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };for (int i = 0; ...
拜城县13732295426: c#判断string 中有几个字符串 - ?
藤唐硼酸: 请描述清楚问题,string就是“字符串”类型, 这个“串”就是很多字符的意思.所以"字符串中有几个字符串"令人很费解.1你要判断一个string类型有多少个“字符”,可以用 string.Length来获得.2你要判断一个string里面有多少个“字符串”,比如"jsdfkljsdlfjsioufoasdjfkla"里面有多少个"sadf", 那么需要给一个详细的规则, 然后根据情况去讨论.
拜城县13732295426: c#怎么比较2个汉字字符串里面有多少个相同的汉字 - ?
藤唐硼酸: string a="无法访问服务器"; string b="无法正常访问服务器"; int i=0; foreach(char c in a) { if(b.IndexOf(c)>-1) i++; } i就是相同汉字数