如何提取数字和字母

时间:2012-11-08 19:28:30

标签: c# token

我怎样才能创建一个从标记中提取数字和字母的函数,我正在尝试使用c sharp中的词法分析器,它从cpp文件中提取变量数据类型的liberaries 我希望我的函数提取数字和字母,我已设法生成提取变量的函数,数据类型n库

例如,我想要这两个函数的组合

bool IsDigit(char ch)
{
    return (ch >='0' && ch <= '9');
}

bool IsAlpha(char ch)
{
    return (ch >='a' && ch <= 'z'|| ch>'A '&& ch<'Z');

}

任何想法??

3 个答案:

答案 0 :(得分:1)

您是否尝试这样做:

private bool IsAlphaNumeric(string letter)
{
     return Regex.IsMatch(letter, @"^[a-zA-Z0-9]");
}

答案 1 :(得分:0)

你可以试试这个: -

 Match match = regex.Match("10ABCD");
 string letter = match.Groups["letter"].Value;
  int number = int.Parse(match.Groups["number"].Value);

或尝试使用正则表达式: -

 ((?<number>\d+)(?<letter>[a-zA-Z])|(?<letter>[a-zA-Z])(?<number>\d+))

答案 2 :(得分:0)

首先,您应该在IsAlpha上执行此操作(请注意额外的括号)

((ch >='a' && ch <= 'z')||(ch>'A '&& ch<'Z'))