c# - 通过忽略某些字符来比较两个字符串

标签 c# string

我想知道是否有一种简单的方法可以通过排除字符串中的某些字符来检查两个字符串是否匹配。请参见下面的示例。

我可以通过编写一个正则表达式来查找“通配符”字符,并将它们替换为普通字符,从而轻松编写出这样的方法。然后比较两个字符串str1和str2。我不是在寻找这样的实现,而是想知道是否有任何 .Net 框架类可以解决这个问题。似乎是一个普遍的需求,但我找不到任何这样的方法。

例如:

string str1 = "ABC-EFG";    
string str2 = "ABC*EFG";

两个字符串必须声明为相等。

谢谢!

最佳答案

我发现自己有相同的需求,我使用的解决方案是基于 String.Compare 方法:

String.Compare(str1, str2, CultureInfo.InvariantCulture, CompareOptions.IgnoreSymbols)

关于c# - 通过忽略某些字符来比较两个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/497978/

相关文章:

string - 为什么 PowerShell 不能正确排序字符串?

c# - 适用于 Bot 框架 C# 的 Azure 函数

c# - 将 CSV 加载到 MySQL 这是一个错误吗? - 未找到文件异常

Java 正则表达式匹配零次或一次

string - 是否可以针对反引号键入断言?

c++ - 为什么将字符串输出到未命名的 std::ofstream 却给我一个十六进制数?

c# - 使用 C#、BouncyCaSTLe 和导入的 RSA key 进行 RSA 签名和验证 - 内部工作的 Python 示例和非工作的 C# 代码示例

C# parallel foreach 等量完成任务

c# - WCF 服务实时报告长时间运行的作业进度

java - 线程 "main"java.lang.StringIndexOutOfBoundsException : String index out of range: 4 中的异常