我有一些写在文件上的样本数据。数据采用以下格式 -
[Peter Jackson] [UK] [United Kingdom] [London]....
我必须提取由'['和']'分隔的信息。所以我找到了 -
Peter Jackson
UK
United Kingdom
London
...
...
我不太了解字符串拆分。我只知道当它们只用一个字符分隔时如何拆分字符串(例如 - string1-string2-string3 -....)。
答案 0 :(得分:2)
您可以使用此正则表达式:
\\[(.+?)\\]
捕获的群组将包含您的内容。
很抱歉没有添加代码。我不懂java
答案 1 :(得分:2)
你应该使用正则表达式。
Pattern p = Pattern.compile("\\[(.*?)\\]");
Matcher results = p.matcher("[Peter Jackson] [UK] [United Kingdom] [London]....");
while (results.find()) {
System.out.println(results.group(1));
}
答案 2 :(得分:2)
每个项目是否用空格分隔?如果是这样,您可以拆分“\] \ [”然后将所有左侧替换为括号:
String vals = "[Peter Jackson] [UK] [United Kingdom] [London]";
String[] list = vals.split("\\] \\[");
for(String str : list){
str = str.replaceAll("\\[", "").replaceAll("\\]", "");
System.out.println(str);
}
或者如果你想避免循环,你可以使用子字符串来删除开头和结尾括号,然后用“\\] \\ [”:
分隔 String vals = " [Peter Jackson] [UK] [United Kingdom] [London] ";
vals = vals.trim(); //removes beginning whitspace
vals = vals.substring(1,vals.length()-1); // removes beginning and ending bracket
String[] list = vals.split("\\] \\[");
答案 3 :(得分:1)
尝试替换
String str = "[Peter Jackson] [UK] [United Kingdom] [London]";
str = str.replace("[", "");
str = str.replace("]", "");
然后你可以尝试拆分它。
答案 4 :(得分:1)