正则表达式提取字母的第一个出现

时间:2012-02-13 12:29:45

标签: c# regex

我需要一个将在此字符串中返回q的正则表达式:

  

131531 q32135 1aaa31cffv; fvVfsda23213543132HHH

string somestring = "12 3654th v6 54 68 sdfsdf";
string pattern = @"(^[0-9])*([a-z])";
string letter = Regex.Match(somestring, pattern).ToString();
string firstletter = letter.Substring(0,letter.Length);
Console.WriteLine("First Letter: " + firstletter);

4 个答案:

答案 0 :(得分:3)

我觉得这很简单:

/[a-z]/i

答案 1 :(得分:0)

尝试使用以下正则表达式:

/^.*?([a-zA-Z])/

答案 2 :(得分:0)

答案 3 :(得分:0)

所以,我不确定为什么你的正则表达式工作正常。 substring部分也是不必要的,因为在letter中您只有字母“t”。

所以试试这个(正如Roderick已经建议的那样(已经投票)),因为Match会自动返回第一场比赛

string somestring = "12 3a654th v6 54 68 sdfsdf";
string pattern = @"[a-z]";

string letter = Regex.Match(somestring, pattern).ToString();

Console.WriteLine("Letter: " + letter);