2011-05-15 51 views
8

我有一个字符串“01-02”,我想将它与另一个字符串“02-03-1234”进行比较。如果一个字符串的前五个字符与另一个字符串的前五个字符相等,是否有一种简单的方法可以比较?如何比较部分字符串?

Marife

回答

3

只需使用Substring方法来获取字符串的一部分,首先验证字符串的长度,除非你完全确信,他们总是至少五个字符:

if (str1.Lenght >= 5 && str2.Length >= 5 && str1.Substring(0, 5) == str2.Substring(0, 5)) ... 
12
bool startsWithFoo = "foobar".StartsWith("foo"); 
+1

注意'StartsWith'都将一个字符串比较相同数量的字符在另一个字符串,而不是一个字符串的前五个字符的前五个字符另一个字符串。 – Guffa 2011-05-15 21:04:49

1

试试这个:

if (str1.Lenght >= 5 && 
    str2.StartsWith(str1.Substring(0, 5))) 
{ 
    // Do what you please 
} 
11

如果你的字符串是至少5个字符悠久的,那么string.Compare应该工作:

var match = string.Compare(str1, 0, str2, 0, 5) == 0; 
+1

请注意'string.Compare'使用当前文化来比较字符串。对于确切(和更快)的字符串比较,请使用[string.CompareOrdinal](https://msdn.microsoft.com/en-us/library/es986b3k(v = vs.110).aspx) – 2017-09-06 10:45:33