我有字符串“ 1P2R”。我只想使用正则表达式从中提取P&R的计数。我尝试了以下代码,但是没有用。
String regex = "[0-9]+[P]?[0-9]+[R]?";
String input = "1P2R";
MatchCollection coll = Regex.Matches(input, regex);
String result = coll[0].Groups[1].Value;
要么
String regex = "[0-9]+[P]?[0-9]+[R]?";
String input = "1P2R";
Match match = Regex.Match(input, regex);
if (match.Success)
{
string key = match.Value;
}
两种方法均未给出结果。我该如何实现?
我将代码更改如下...
String regex = "[0-9]+[P]?[0-9]+[R]?";
String input = "1P2R";
Match match = Regex.Match(input, regex);
if (match.Success)
{
string a, b;
a = input.Substring(0, input.LastIndexOf("P"));
b = input.Substring(input.LastIndexOf("P") + 1, input.LastIndexOf("R") - input.LastIndexOf("P")-1);
}
可以吗
问候塞巴斯蒂安
要匹配P和R之前的数字,请使用以下命令:
var myRegex = new Regex(@"([0-9]+)P([0-9]+)R");
var myMatch = myRegex.Match(yourString);
string pCount = myMatch.Groups[1].Value;
string rCount = myMatch.Groups[2].Value;
Console.WriteLine(pcount,rcount);
说明
([0-9]+)
捕获一个或多个数字到组1P
火柴 P
([0-9]+)
捕获一个或多个数字到组2R
火柴 R
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句