在第一个和最后一个字符出现之间提取元素

时间:2017-09-11 03:20:34

标签: java

我有一个json字符串,它是另一个字符串的一部分 -

library(tidyr)
separate(data = df, col = X2, into = c("col1", "col2"), sep = "(\\.)(?!.*\\.)")

#            col1    col2
#           <chr>   <chr>
#1          BB_137   HVMSC
#2 BB_138.combined   HVMSC
#3 BB_139.combined   HVMSC
#4 BB_140.combined   HVMSC
#5          BB_141   HVMSC
#6 BB_142.combined HMSC-bm

在这个例子中,我想从第一个{到最后结束}开始提取字符串。

感谢您的回答。下面的代码按建议工作 -

This is a json {"name":"jim","age":12,"contactDetails": {"phone":"xxxxx"}} json ended

2 个答案:

答案 0 :(得分:1)

当你给出嵌套的JSON时,上面的程序可能不起作用,所以为了这个目的,你应该取{和最后一个索引}的第一个索引,所以你应该使用诸如Indexof和lastIndexof之类的函数,因为这些将为您提供所需的索引,然后您可以轻松地从中获取子字符串...希望我解决了您的查询,请询问您是否需要更多说明...很乐意帮助..

答案 1 :(得分:0)

public class Test {    
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        String jsonData = "This is a json {\"name\":\"jim\",\"age\":12,\"contactDetails\": {\"phone\":\"xxxxx\"}} json ended";
        System.out.println(jsonData.substring(jsonData.indexOf("{"), jsonData.lastIndexOf("}") + 1));

    }
}