获取字符串的子字符串

xbo*_*nez 1 c# string substring

我有一个格式的字符串

[00:26:19] Completed 80000 out of 500000 steps  (16%)
Run Code Online (Sandbox Code Playgroud)

从中我想得到这个16部分.

我应该搜索(然后获取%并获得介于两者之间的部分,还是设置正则表达式查询更明智?

Bra*_*tie 6

RegEx可能会成为趋势,但我个人认为没有充分的理由.

话虽如此,这应该工作:

String s = "[00:26:19] Completed 80000 out of 500000 steps  (16%)";
Int32 start = s.LastIndexOf('(') + 1;
Console.WriteLine(s.Substring(start,s.LastIndexOf('%')-start));
Run Code Online (Sandbox Code Playgroud)

Convert.ToInt32()如果你认为有必要,你可以.


And*_*are 5

我会使用这样的正则表达式:

([^%]+)%\)$

此表达式将允许捕获非数字数据 - 如果您确定括号内的文本以及百分比左侧的文本将始终为数字,则可以将表达式简化为:

(\d+)%\)$