我有一个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
答案 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));
}
}