嗨,所以即時嘗試驗證我的字符串,以便它不允許任何以「911」開頭的輸入,所以如果您鍵入:「9 11」,「91 1」,「9 1 1 「它應該通過我的if語句。它與「911」,而不是其他人,這是我的代碼:在C中驗證字符串#
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")
」;但它不工作...
這些代碼並沒有真正太大的意義,你正在寫的條件塊內的'StartsWith'檢查時,它已經與「911」,並沒有別的開始。此外,您必須檢查'StartsWith'是否返回'true',現在,您的支票什麼也不做。 –
谷歌「正則表達式」。它們是爲了用這樣的規則驗證字符串而設計的結構。 – t3dodson
使用正則表達式。這裏以911開始的所有字符串的正則表達式應該是「911. *」。當出現匹配時,您知道當前輸入始於911 –