我基本上想检查字符串的一部分是否以某个序列开头 - 在本例中为ftp://或http://。我该怎么做?
由于
答案 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方法。