2017-05-11 109 views
-3

有人可以帮助我使用RegEx c#从下面的字符串中提取价格。我已经尝试了几个例子,似乎我无法完成它,我知道这是非常基本的,但我无法得到它。C#RegEx从字符串中提取值

我无法找到一种方式来逃避:和”

字符串: "ouioieu":"Canister","price":"59.0000","sku":"DECC500","barcode_gtin sj^h

期望值:59.0000

我需要完整的代码块作为一次工作,我将使用对于其他地方,同样的方法

(为什么标记为重复由于类似的答案与双引号?但这一个,主要问题是冒号,我需要一个完整的答案,并已收到d。 )

+0

你尝试过什么?你不需要正则表达式,只需切“,然后”:“” – cutzero

+6

这看起来像'JSON' ... *不*使用'正则表达式'为'JSON' – Ian

+0

更好地使用JSON解析器 – cutzero

回答

2

作为免责声明,您的数据看起来很像来自JSON的片段。如果是这样,您应该考虑使用JSON解析器从中提取事物。假设你绝对需要在这里使用正则表达式,然后再考虑模式:

.*"price":"(.*?)" 

这将捕获跟随在引号price一切。下面是一个示例代码:

string str = @"""ouioieu"":""Canister"",""price"":""59.0000"",""sku"":""DECC500"",""barcode_gtin sjh"""; 
var m = Regex.Match(str,@".*""price"":""(.*?)"".*"); 
Console.WriteLine(m.Groups[1].Value); 

输出:

59.0000 

演示在这里:

Rextester

+0

工作正常...谢谢。 – BenW