【发布时间】:2021-05-03 13:51:15
【问题描述】:
我希望能够找到以大写字母开头的特定长度(3 - 99 个字符)的单词。 例如,在下面的句子中(实际句子将由用户相应地编写和填写)
My name is John and i am 20 years old.
我希望选择“约翰”这个词,因为它符合所有标准。
到目前为止,这是我的代码:(我知道这很乱,抱歉我在这方面相对较新)
static void Main(string[] args)
{
Console.Write("Name and age: ");
string a = Console.ReadLine();
string b = string.Empty;
int val;
for (int i = 0; i < a.Length; i++)
{
if (Char.IsDigit(a[i]))
b += a[i];
}
if (b.Length > 0)
val = int.Parse(b);
string inputStr = a;
string outputStr = String.Concat(inputStr.Where(x => Char.IsUpper(x)));
Console.WriteLine("Your name is " + outputStr);
Console.WriteLine("You are " + b + " years old");
Console.ReadLine();
}
我正在尝试让程序告诉我:
Your name is John
You are 20 years old
我让程序告诉我年龄,但到目前为止,我只能让它给我大写字母(字符串中的任何位置)
【问题讨论】:
-
好吧,它没有做什么?它在做什么?有什么错误吗?
-
你的代码会变得非常不紧凑,因为你这样做。我建议您使用Regular Expressions (Regex Class)。您可以使用regexr 网站轻松创建正则表达式。希望这会有所帮助
-
挑选一个由单个大写字母后跟任意数量的小写字母组成的单词很容易。解析英语足以阅读一段并让您的程序找出某人的姓名和年龄是一个更有趣的问题