我有一个跟随2 - 5
的字符串现在我想用Regex C#获得数字5#(我是Regex的新手),你能给我一个想法吗?谢谢
答案 0 :(得分:2)
您可以简单地使用String.Split
方法:
int number = int.Parse("2 - 5".Split('-', ' ').Last());
如果在最后一个数字后面没有空格,这将有效。如果是这样的话,那么:
int number = int.Parse("2 - 5 ".Split('-', ' ')
.Last(x => x.Any() && x.All(char.IsDigit)));
答案 1 :(得分:1)
非常简单如下:
'\s-\s(\d)'
并提取第一个匹配组
答案 2 :(得分:1)
@SShashank有权利,但我认为我提供了一些代码,因为你提到你是Regex的新手:
string s = "something 2-5 another";
Regex rx = new Regex(@"-(\d)");
if (rx.IsMatch(s))
{
Match m = rx.Match(s);
System.Console.WriteLine("First match: " + m.Groups[1].Value);
}
群组[0]是整个匹配,群组[1]是第一个匹配的群组(parens中的东西)。
答案 3 :(得分:0)
如果你真的想使用正则表达式,你可以简单地做:
string text = "2 - 5";
string found = Regex.Match(text, @"\d+", RegexOptions.RightToLeft).Value;