我有一个字符串“01-02”,我想将它与另一个字符串“02-03-1234”进行比较。如果一个字符串的前五个字符与另一个字符串的前五个字符相等,是否有一种简单的方法可以比较?如何比较部分字符串?
Marife
我有一个字符串“01-02”,我想将它与另一个字符串“02-03-1234”进行比较。如果一个字符串的前五个字符与另一个字符串的前五个字符相等,是否有一种简单的方法可以比较?如何比较部分字符串?
Marife
只需使用Substring
方法来获取字符串的一部分,首先验证字符串的长度,除非你完全确信,他们总是至少五个字符:
if (str1.Lenght >= 5 && str2.Length >= 5 && str1.Substring(0, 5) == str2.Substring(0, 5)) ...
bool startsWithFoo = "foobar".StartsWith("foo");
试试这个:
if (str1.Lenght >= 5 &&
str2.StartsWith(str1.Substring(0, 5)))
{
// Do what you please
}
如果你的字符串是至少5个字符悠久的,那么string.Compare
应该工作:
var match = string.Compare(str1, 0, str2, 0, 5) == 0;
请注意'string.Compare'使用当前文化来比较字符串。对于确切(和更快)的字符串比较,请使用[string.CompareOrdinal](https://msdn.microsoft.com/en-us/library/es986b3k(v = vs.110).aspx) – 2017-09-06 10:45:33
注意'StartsWith'都将一个字符串比较相同数量的字符在另一个字符串,而不是一个字符串的前五个字符的前五个字符另一个字符串。 – Guffa 2011-05-15 21:04:49