嗨,我尝试在此处验证我的字符串,以便不允许以911开头的任何输入,因此,如果您键入:“ 9 11”,“ 91 1”,“ 9 1 1”,则应该通过if声明。它可以与“ 911”一起使用,但不能与其他人一起使用,这是我的代码:
using System;
using System.Collections.Generic;
namespace Phone_List
{
class Program
{
static void Main(string[] args)
{
var phoneList = new List<string>();
string input;
Console.WriteLine("Input: ");
while ((input = Console.ReadLine()) != "")
{
phoneList.Add(input);
for (int i = 0; i < phoneList.Count; i++)
{
if (phoneList[i].Substring(0, 3) == "911")
{
input.StartsWith("9 11");
input.StartsWith("9 1 1");
input.StartsWith("91 1");
Console.WriteLine("NO");
Console.ReadLine();
return;
}
else
{
Console.WriteLine("YES");
Console.ReadLine();
return;
}
}
}
}
}
}
如您所见,我正在尝试使用“
input.StartsWith("9 11")
;”但这不起作用... 最佳答案
使用正则表达式进行此类检查。
例如:
Regex.IsMatch(input, "^\\s*9\\s*1\\s*1");
此正则表达式匹配所有在“ 911”前面和之间包含空格的字符串。