从字符串中提取后期数字值

时间:2017-09-19 16:27:39

标签: c# asp.net linq

我想从“KB”获取发布数字(实际数据大小) 例如

string word1="Product data 5KB per second" 
string word2="Product data is 5 KB per hour"

如果我通过KB

,我想从上面的单词中提取5

1 个答案:

答案 0 :(得分:2)

这个正则表达式应该可以工作

var word2Size = Regex.Match(word2, @"\d+(?=\s?KB)").Value;

或浮点数

var word2Size = Regex.Match(word2, @"\d+\.?\d+(?=\s?KB)").Value;

它应该在可选空格之前返回一个数字值,后跟KB

您可以使用以下命令生成不同后缀的正则表达式字符串:

string regexString = String.Format(@"\d+\.?\d+(?=\s?{0})", mySuffix);
var word2Size = Regex.Match(word2, regexString).Value;