帮我建立一个正则表达式

xbo*_*nez 2 c# regex

坦率地说,我对正则表达式完全无能为力,更重要的是建立它们.我正在读一个字符串,其中可以包含任何类型的字符和数字组合.我所知道的是,在字符串中的某处,会有一个数字后跟%(1%,13%等),我想从字符串中提取该数字.

例子是;

[05:37:25] Completed 21% //want to extract 21
[05:32:34] Completed  18000000 out of 50000000 steps (36%). //want to extract 36
Run Code Online (Sandbox Code Playgroud)

我猜我应该使用regex.Replace或regex.Split,但除此之外,我不确定.任何帮助,将不胜感激.

Kei*_*thS 6

你应该能够使用类似的东西"(\d+)%".这将匹配任意数量的连续数字字符,然后是百分号,并将捕获实际数字,以便您可以提取和解析它.在Regex.Match()中使用它,并浏览结果的Matches数组(我认为它将是数组中的第二个元素,索引1).

如果需要小数点,请使用"(\d+(\.\d+)?)%",它将匹配一串数字,后跟一个小数点,然后是另一组数字.

  • @xbonez,别忘了将答案标记为正确答案,:) (2认同)