gpt4 book ai didi

C# - 检查字符串是否包含相同顺序的另一个字符串的字符

转载 作者:行者123 更新时间:2023-11-30 13:26:03 24 4
gpt4 key购买 nike

我想检查一个字符串是否包含另一个字符串的字符(返回 true 或 false),但它需要以“正确”的顺序排列,但不一定是连续的。

例子:

String firstWord = "arm";
String secondWord = "arandomword"; //TRUE - ARandoMword

String thirdWord = "road"; //FALSE - ARanDOmword

“arandomword”这个词包含了“road”这个词的字母,但是不可能写出来,因为它们的顺序不对。

有人吗?

最佳答案

使用正则表达式。在 linqpad 中通过测试的简单方法:

void Main()
{
String firstWord = "arm";
String secondWord = "arandomword"; //TRUE - ARandoMword

String thirdWord = "road";

Regex.IsMatch(secondWord,makeRegex(firstWord.ToCharArray())).Dump();
}

// Define other methods and classes here
String makeRegex(char[] chars)
{
StringBuilder sb = new StringBuilder();
foreach (var element in chars.Select(c => Regex.Escape(c.ToString()))
.Select(c => c + ".*"))
{
sb.Append(element);
}
return sb.ToString();
}

关于C# - 检查字符串是否包含相同顺序的另一个字符串的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34006926/

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