微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C#在比较2个字符串时识别不同的字符

如何解决C#在比较2个字符串时识别不同的字符

var str1 = "ASD_ZIHJK2A"; \\ 输出:对 1 个不同的字符:Z

var str2 = "ASD_YIHJK2A"; \\ 输出:对 1 个不同的字符:Y

var str3 = "AWD_PIHJK2A"; \\ 输出:对 2 个不同的字符:P

var str4 = "AWD_IHJK2AQ"; \\ 输出:对 2 个不同的字符:Q

var str5 = "ASD_RTHJK2A"; \\ 输出:对 3 个不同的字符:J

var str6 = "ASD_RTHIK2A"; \输出:对 3 差异:I

使用 C# 查找对中每个字符串的对和状态差异的最简单方法是什么?

-要比较的字符串等长

-string 中间也包含数字

-“不同字符”在第二个字符串中的位置可以不同

解决方法

使用 Linq.Except 的方法

产生两个序列的集合差。 两个集合的集合差定义为第一个集合中没有出现在第二个集合中的成员。

此方法返回第一个中没有出现在第二个中的元素。它不会在第二个中返回那些没有出现在第一个中的元素。仅返回唯一元素。

var strOne = "ASD_ZIHJK";
var strTwo = "ASD_YIHJK";
var difference_strOne = strOne.Except(strTwo); // Z 
var difference_strTwo = strTwo.Except(strOne); // Y 
,

简单的解决方案

public static char? FindFirstDifference(string first,string second)
{
    int length = Math.Min(first.Length,second.Length);
    for (int = 0; i < length; i++)
    {
        if (first[i] != second[i])
        {
              return first[i];
        }
    }
    return null;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?