我有一个这种形式的字符串:
String buf = "[[[name11,name12]][[name21,name22]][[name31,name32]]]";
如何检索所有名称?
当我从数据库中检索数据时,我会以这种形式重新获取数据。
寻找Java解决方案。
谢谢
答案 0 :(得分:2)
这个技巧应该这样做:
String csv = buf.replace("[[[","").replace("]]]","").replace("]][[",",");
String[] names = csv.split(",");
删除前导括号和尾随括号,并用逗号替换内括号。现在,您可以在,
周围拆分输入,并使用仅包含名称的数组。
答案 1 :(得分:0)
您可以使用Java中的Scanner类来解析数据。
答案 2 :(得分:0)
你总是有两双名字吗?是否可以[[name2,]]?
如果名字总是成对出现,那么Andreas_D的回答是一个简单的直接答案。如果其中一个名称可能丢失,那么你需要在前面添加几个replace()调用来查找这些并放入虚拟值。具体为“[,”带“[dummyFirst,”和“,]”with“ ,dummyLast]”。然后,您必须根据适合您的上下文的任何规则处理这些虚拟值。