gpt4 book ai didi

c# - 如何通过省略字符串的某些部分来验证或比较字符串

转载 作者:行者123 更新时间:2023-11-30 20:15:02 27 4
gpt4 key购买 nike

我有一个字符串如下

“a1/type/xyz/parts”

'xyz' 所在的部分是动态的,并且在任何大小下都会相应地变化。我只想比较两个字符串是否相等,完全丢弃“xyz”部分。

例如我有如下字符串

“a1/type/abcd/parts”

那我的比较要成功

我尝试使用正则表达式,如下所示。尽管我对正则表达式的了解有限并且没有用。可能我使用的方式有问题。

var regex = @"^[a-zA-Z]{2}/\[a-zA-Z]{16}/\[0-9a-zA-Z]/\[a-z]{5}/$";
var result = Regex.Match("mystring", regex).Success;

另一个想法是获取第一部分和最后一部分的子字符串,省略不需要的部分并进行比较。

通过丢弃具有有效代码的字符串的特定部分,比较应该成功。

对比成功案例

string1:“a1/type/21412ghh/parts”

string2:“a1/type/eeeee122ghh/parts”

比较失败案例:

string1:“a1/type/21412ghh/parts”

string2: "a2/type/eeeee122ghh/parts/mm"

简而言之,"a1/type/abcd/parts" 在这部分字符串中,非粗体部分始终是静态的。

最佳答案

老实说,您可以使用正则表达式来执行此操作,然后拉开字符串。但是你有一个指定的分隔符,只需使用 String.Split:

bool AreEqualAccordingToMyRules(string input1, string input2)
{
var split1 = input1.Split('/');
var split2 = input2.Split('/');
return split1.Length == split2.Length // strings must have equal number of sections
&& split1[0] == split2[0] // section 1 must match
&& split1[1] == split2[1] // section 2 must match
&& split1[3] == split2[3] // section 4 must match
}

关于c# - 如何通过省略字符串的某些部分来验证或比较字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57784726/

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