簡體   English   中英

將字符串限制為字母,C#

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM