将字符串限制为字母顺序,C#

本文关键字:顺序 字符串 | 更新日期: 2023-09-27 17:56:19

我做了以下代码:

string fname;
Console.WriteLine("Input  employee first name:");
fname = Console.ReadLine();

这个想法是插入一个 while 循环(其中带有"if"),以将控制台的输入限制为仅字母。但是,使用 Tryparse 不起作用,因为它将字符串解析为 int。我希望收到有关如何通过将字符串"尝试解析"为字符串来解决此问题的建议。

将字符串限制为字母顺序,C#

试试这个:

    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());

正如有人在评论您的问题时提到的那样,正则表达式可能是评估输入的最简单方法

if (Regex.IsMatch("yourtexthere", "^[a-zA-Z]{1,25}$").Success) {
    // it matches                
}

这应该让你对如何完成它有一个很好的了解