将字符串限制为字母顺序,C#
本文关键字:顺序 字符串 | 更新日期: 2023-09-27 17:56:19
我做了以下代码:
string fname;
Console.WriteLine("Input employee first name:");
fname = Console.ReadLine();
这个想法是插入一个 while 循环(其中带有"if"),以将控制台的输入限制为仅字母。但是,使用 Tryparse 不起作用,因为它将字符串解析为 int。我希望收到有关如何通过将字符串"尝试解析"为字符串来解决此问题的建议。
试试这个:
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
}
这应该让你对如何完成它有一个很好的了解