我知道那里有很多这样的问题。 但我真的找不到能解决问题的任何东西。
我想检查字符串是否包含特定的输入数字。请参阅以下示例:
public Boolean checkString()
{
string input = "2.5.8.12.30";
string intToFind = "3";
if (input.contains(intToFind))
{
return true;
}
else
{
return false;
}
}
这返回true但我希望它返回false,因为intToFind字符串是3而不是30.所以它是contains()就是问题。
如何让它仅搜索3?
答案 0 :(得分:13)
您可以使用String.Split
+ Contains
:
bool contains3 = input.Split('.').Contains("3");
答案 1 :(得分:7)
bool anyThree = input.Split('.').Any(str => str == "3");
答案 2 :(得分:2)
您可以使用String.Split('.')
将输入拆分为数组。现在使用Array.contains
检查元素是否在数组
bool contained = input.Split('.').Contains("3");
答案 3 :(得分:0)
string[] words = input.Split('.');
if (words.contains("3")){do something...}
答案 4 :(得分:0)
您也可以使用可能有点矫枉过正的正则表达式。
string str = "2.5.8.12.30";
string strToFind = "3";
bool contains = Regex.Match(str, string.Format(@"\W{0}\W",strToFind)).Success;