1

我需要跟踪以所需字母(西里尔文或拉丁文甚至任何字母)开头的字符串。但绝对不是数字或特殊字符,包括空格。

一开始我的任务只是 hanlde 字符串以数字开头,但现在还有某些字符。

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        int i;
        if (isRoot && (int.TryParse(textBox1.Text.Trim(), out i)))

我应该为角色做什么?使用类似这样的东西(但在这种情况下,我需要为所有字符创建条件):

(textBox1.Text.Trim(). StartsWith("%") || textBox1.Text.Trim().StartsWith("-") || ...... 
)

有没有更好的方法??因为如果您建议只允许使用字母,那么这是一个坏主意,因为它可以被赋予不同的语言.. 那又如何?

4

1 回答 1

0

您可以使用正则表达式来处理此功能。例如:此代码段确保输入文件路径的格式正确。

// [drive_letter]:\ or  \\[server]\ or [drive name]:\
private const string PathPattern = "^[A-z]:[\\\\/]|^\\\\|^.*[A-z]:[\\\\/]";
var matchMaker = new Regex(PathPattern);
var success = matchMaker.Matches(inputPath);

在您的情况下,您想要识别不同的字符并修剪它们,因此您可以使用 Regex 表达式识别这些字符串,然后执行您的解析逻辑。

此链接包含所有正则表达式命令的列表:http: //www.mikesdotnetting.com/Article/46/CSharp-Regular-Expressions-Cheat-Sheet

于 2013-08-16T14:34:51.980 回答