2016-12-04 32 views
-2
提取从字符串的特定部分或值

我的字符串是一样的东西在这个模式:我想用正则表达式

{ "x_y_z":{data}, "a_b_c_d":{[my data]}, "q_w_e":{data} } 

数据我想提取的是:

{[my data]} 

能给我指指成一个方向如何实现这一目标?

+3

你已经试过了什么? – aleb2000

+2

你的字符串是一个JSON对象吗?如果它是一个JSON对象,你应该解析它,不要使用正则表达式。 –

+0

发布您的努力 – GurV

回答

0

使用JSON解析器去,而是要回答这个问题更健壮,更可读的方式:

String abcd = str.replaceAll(".*\"a_b_c_d\"\\s*:\\s*(.*?)\\s*,.*", "$1"); 

正则表达式的整个输入匹配和捕捉目标为1组,和替换是被捕获的组。

+0

如果捕获组的数据中有空格,这会工作吗? –

+0

@ cricket_007是的。它截取下一个逗号(但不包括)的所有内容(丢弃逗号前的任何空格)。 – Bohemian