C# - if语句对部分字符串

时间:2010-09-29 08:21:46

标签: c# string if-statement

我基本上想检查字符串的一部分是否以某个序列开头 - 在本例中为ftp://或http://。我该怎么做?

由于

6 个答案:

答案 0 :(得分:12)

使用String.StartsWith。只需两个可能的前缀,您可以按如下方式编写它:

if (s.StartsWith("http://") || s.StartsWith("ftp://")) { ... }

如果你有很多不同的可能前缀,那么最好使用循环或LINQ表达式。例如:

string[] prefixes = { "http://", "ftp://", /* etc... */ };
if (prefixes.Any(prefix => s.StartsWith(prefix)))
{
    // ...
}

答案 1 :(得分:4)

  if(myString.StartsWith("ftp://") || myString.StartsWith("http://")) { }  

如果您希望忽略大小写,请使用StringComparison.OrdinalIgnoreCase。

  if(myString.StartsWith("ftp://", StringComparison.OrdinalIgnoreCase) || myString.StartsWith("http://", StringComparison.OrdinalIgnoreCase)) { }  

答案 2 :(得分:1)

if( myString.StartsWith("ftp://")){
  ...
}

如果要检查http://,则类似,但将参数更改为StartsWith。

答案 3 :(得分:1)

答案 4 :(得分:0)

我个人建议使用Regex,但最基本的形式是

string myText = @"http://blabla.com";
if (myText.IndexOf("http://") == 0 || myText.IndexOf("ftp://") == 0))
{
//dosome
}

答案 5 :(得分:0)

您应该使用String.StartsWith方法。