我有一个字符串可以有
之类的值"1 Of 1"
"2 Of 4"
"8 Of 10"
等
我想要字符串中最后一个数字的值,即1
,4
,10
。
Regex \d+$
会有效吗?
答案 0 :(得分:3)
您可以使用var lastno = input.Split().Last();
答案 1 :(得分:2)
您也可以在没有regex
的情况下执行此操作,如下所示:
string s = "1 Of 1"
string[] words = s.Split(' ');
words[words.Length - 1]
回答你的问题,是的,它确实有效。 (虽然,我必须说,Blorgbeard提出了一个优秀的点)
"1 Of 1" ==> '\d+$' ==> "1"
"1 Of 4" ==> '\d+$' ==> "4"
"1 Of 10" ==> '\d+$' ==> "10"
答案 2 :(得分:0)
例如,
string value = "8 Of 10";
value = value.Substring(value.IndexOf('f') + 2, value.Length)
答案 3 :(得分:0)
是的,但最后会有点切断!
string[] inputs = new[] {"1 Of 1","2 Of 4", "8 Of 10"};
foreach (var input in inputs)
{
string[] numbers = Regex.Split(input, @"\D+");
Console.WriteLine("Last Number from input \"{0}\" is: {1}",
input,numbers[numbers.Length-1]);
}
答案 4 :(得分:0)
您可以使用此代码。它将提供完美的输出。
string str = "10 OF 10";
int pos = str.IndexOf("F");
string str1 = str.Substring(pos + 1);
Console.Write(str1);
答案 5 :(得分:0)
使用此RegEx:
var SearchString = @"8of10";
var x = Regex.Match(SearchString, @"([0-9]+)[^0-9]*$");
if (x.Success && x.Groups.Count > 0)
{
var foundNumber = x.Groups[1].Captures[0].Value;
}
答案 6 :(得分:0)
**regexp { ([0-9])( |\t)*([a-zA-Z]+)( |t)*([0-9])$} $x A B C D E F** ( tcl)
The value of the last digit will be stored in the variable F.