可能重复:
Using C# to check if string contains a string in string array
我们可以在asp.net中使用逻辑OR运算符(|)在单个字符串变量中包含多个字符串吗?
string _Text = "";
string _str = "abc" | "xyz" | "123";
if(_Text.Contains(_str))
{
foo("_str");
}
谢谢,
答案 0 :(得分:3)
使用正则表达式Regex.IsMatch(_Text, @"^(abc)|(xyz)|(123)$")
答案 1 :(得分:2)
不,你不能,但你可以解决:
string _Text = "abc"
var _str = new[] {"abc", "xyz", "123"};
if(_str.Any(s => _Text.Contains(s))
{
foo(_Text);
}
答案 2 :(得分:1)
我不清楚你想做什么。或者(|)无论如何都不会起作用。你需要这样的东西吗?
string haystack = "The quick brown fox jumps over the lazy dog";
string[] needles = {"fox", "the", "dog"};
foreach (var n in needles)
{
if (haystack.Contains(n))
{
Console.WriteLine("'{0}' found in '{1}'", n, haystack);
}
}
答案 3 :(得分:0)
不,你应该使用任何类型的容器(数组/列表/等)。
答案 4 :(得分:0)
不,不能按你的方式完成。但是如何使用数组
string _Text = "";
string[] _str = {"abc" , "xyz" , "123"};
if(_str.Contains(_Text))
{
foo(_Text);
}
答案 5 :(得分:0)
两个操作数都必须是布尔值:
"如果其中一个或两个操作数为true,则逻辑OR运算符(||)返回布尔值true,否则返回false。在评估之前,操作数被隐式转换为bool类型,结果是bool类型。逻辑OR具有从左到右的关联性。"