gpt4 book ai didi

c# - 使用正则表达式在字符串中查找不匹配的字符?

转载 作者:太空狗 更新时间:2023-10-29 23:01:07 24 4
gpt4 key购买 nike

如果我能够检查字符串是否存在无效字符:

Regex r = new Regex("[^A-Z]$");
string myString = "SOMEString";
if (r.IsMatch(myString))
{
Console.WriteLine("invalid string!");
}

没关系。但是我想打印出这个字符串中的每个无效字符呢?就像示例中的 SOMEString => 无效字符是 t、r、i、n、g。有什么想法吗?

最佳答案

使用 LINQ。以下将为您提供一个包含 5 个元素的数组,与正则表达式不匹配。

char[] myCharacterArray = myString.Where(c => r.IsMatch(c.ToString())).ToArray();
foreach (char c in myCharacterArray)
{
Console.WriteLine(c);
}

输出将是:

t
r
i
n
g

编辑:

看起来,您想将所有小写字符视为无效字符串。你可以试试:

   char[] myCharacterArray2 = myString
.Where(c => ((int)c) >= 97 && ((int)c) <= 122)
.ToArray();

关于c# - 使用正则表达式在字符串中查找不匹配的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12383945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com