<分区>
我正在使用 C#。我需要一种方法,它将一个字符串作为输入,在该字符串中搜索百分号,然后直接返回百分号前面的数字。例如 "asdf sdfa asf 32% asdf"
将返回 32。"asdfl asfi asdf kd 34.5% adsfkjfg"
将返回 34.5。我知道如何找到百分比符号的索引,然后向后循环搜索一个空格,并返回中间的所有内容。我觉得可能有更有效的方法。
<分区>
我正在使用 C#。我需要一种方法,它将一个字符串作为输入,在该字符串中搜索百分号,然后直接返回百分号前面的数字。例如 "asdf sdfa asf 32% asdf"
将返回 32。"asdfl asfi asdf kd 34.5% adsfkjfg"
将返回 34.5。我知道如何找到百分比符号的索引,然后向后循环搜索一个空格,并返回中间的所有内容。我觉得可能有更有效的方法。
最佳答案
var result = str.Split(' ')
.Where(s => s.Contains('%'))
.Select(s => s.Trim('%'));
解释
Split将您的输入字符串变成 IEnumerable<string>
, Where只选择那些包含搜索字符 %
的字符串和 Select投影这些元素中的每一个,使得新元素不包含字符 %
关于c# - 搜索百分比字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26366324/