所以我有这样的代码:
// Add new adress
static int New(ref List<string> adr, int index)
{
Console.Write("Nubmer "); string number= Console.ReadLine();
Console.Write("Prename"); string prename= Console.ReadLine();
Console.Write("Name"); string name= Console.ReadLine();
Console.Write("Place "); string place= Console.ReadLine();
Console.Write("Age "); string age= Console.ReadLine();
Console.Write("Salary "); string salary= Console.ReadLine();
Console.Write("\nDatensatz speichern? <j/n> "); string wahl = Console.ReadLine().ToUpper();
if (wahl == "J")
{
string zeile = number + ";" + prename + ";" + name + ";" + place + ";" + age + ";" + salary ;
adr.Add(zeile);
File.WriteAllLines(@filename, adr);
index++;
}
return index;
}
现在我要问你们,如果string number, age, salary
只包含数字且string prename, name, place
只包含来自A-Z和a-z和max的字母,我该怎么检查呢? 20个字母?
我听说过有关Regex的一些内容,但我不明白..感谢您的帮助:)。
答案 0 :(得分:1)
你可以使用正则表达式 - 正则表达式检查字符串是否匹配某种模式。
仅限数字,您可以使用此正则表达式:
^[0-9]+$
仅限信件:
^[A-Za-z]{1,20}$
所以,你的代码应该是这样的(数字示例):
using System.Text.RegularExpressions; //on the top
string regexPattern = "^[0-9]+$";
string testString = "123456";
if (Regex.IsMatch(testString, regexPattern))
{
Console.WriteLine("String contains only digits and is valid");
}
else
{
Console.WriteLine("String contains symbols other than digits or is empty or too long");
}
答案 1 :(得分:0)
对于字符串的长度,您可以使用方法.length()
string test = "testing";
if(test.length() <= 20){}
我希望这会有所帮助,祝你好运