[英]Limiting a string to alphabetical letters, C#
我做了以下代碼:
string fname;
Console.WriteLine("Input employee first name:");
fname = Console.ReadLine();
這個想法是插入一個while循環(其中包含一個“if”)以將來自控制台的輸入限制為僅字母。 但是,使用 Tryparse 不起作用,因為它將字符串解析為整數。 我將不勝感激收到有關如何通過“Tryparsing”字符串到字符串來解決此問題的建議。
嘗試這個:
Console.Write("Input employee first name: ");
var s = new StringBuilder();
do
{
var key = Console.ReadKey(true);
if (key.KeyChar == '\r')
break;
if (char.IsLetter(key.KeyChar))
{
Console.Write(key.KeyChar);
s.Append(key.KeyChar);
}
} while (true);
Console.WriteLine();
Console.WriteLine( "You typed " + s.ToString());
正如有人在對您的問題的評論中提到的那樣,RegEx 可能是評估輸入的最簡單方法
if (Regex.IsMatch("yourtexthere", "^[a-zA-Z]{1,25}$").Success) {
// it matches
}
這應該讓你對如何完成它有一個很好的了解
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.