我有一个字符串“01-02”,我想将它与另一个字符串“02-03-1234”进行比较。如果一个字符串的前五个字符等于另一个字符串的前五个字符,是否有一种简单的方法可以比较?
Marife
答案 0 :(得分:16)
如果您的字符串长度至少为5个字符,则string.Compare
应该有效:
var match = string.Compare(str1, 0, str2, 0, 5) == 0;
答案 1 :(得分:15)
bool startsWithFoo = "foobar".StartsWith( "foo" );
答案 2 :(得分:2)
只需使用Substring
方法获取部分字符串,并首先验证字符串的长度,除非您完全确定它们始终至少为五个字符:
if (str1.Lenght >= 5 && str2.Length >= 5 && str1.Substring(0, 5) == str2.Substring(0, 5)) ...
答案 3 :(得分:2)
在.NetCore或带有System.Memory nuget包的.Net框架中:
str1.Length >= 5 && str2.Length >= 5 && str1.AsSpan(0, 5).SequenceEqual(str2.AsSpan(0, 5))
这是经过高度优化的,将是此处所有选项中性能最好的。
答案 4 :(得分:1)
试试这个:
if (str1.Lenght >= 5 &&
str2.StartsWith(str1.Substring(0, 5)))
{
// Do what you please
}