Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从带括号的字符串中提取所需的字符串_Java - Fatal编程技术网

Java 如何从带括号的字符串中提取所需的字符串

Java 如何从带括号的字符串中提取所需的字符串,java,Java,对不起,标题不好。请随意制作一个更好的标题 我有一个字符串,如下所示 [Munich, Germany],[Jingle Pot Rd, Nanaimo, BC, Canada],... 现在我想将此列表转换为LinkedList 在哪里 等等 如何在java中高效地执行此操作。我曾想过使用string.split(),但这会是做类似事情的有效方法吗。使用正则表达式怎么样 印刷品: Line 1: Munich, Germany Line 2: Jingle Pot Rd, Nanaimo

对不起,标题不好。请随意制作一个更好的标题

我有一个字符串,如下所示

[Munich, Germany],[Jingle Pot Rd, Nanaimo, BC, Canada],...
现在我想将此列表转换为LinkedList 在哪里

等等


如何在java中高效地执行此操作。我曾想过使用string.split(),但这会是做类似事情的有效方法吗。

使用正则表达式怎么样

印刷品:

Line 1:  Munich, Germany
Line 2:  Jingle Pot Rd, Nanaimo, BC, Canada

使用正则表达式怎么样

印刷品:

Line 1:  Munich, Germany
Line 2:  Jingle Pot Rd, Nanaimo, BC, Canada

使用正则表达式怎么样

印刷品:

Line 1:  Munich, Germany
Line 2:  Jingle Pot Rd, Nanaimo, BC, Canada

使用正则表达式怎么样

印刷品:

Line 1:  Munich, Germany
Line 2:  Jingle Pot Rd, Nanaimo, BC, Canada

尝试在“括号内的任何内容”(例如,
\[(.*?\]
)上与捕获组匹配,并将该组添加到列表中:

public static List<String> getStringsInBrackets(String s) {
  Pattern p = Pattern.compile("\\[(.*?)\\]");
  Matcher m = p.matcher(s);
  List<String> list = new ArrayList<String>();
  while (m.find()) { list.add(m.group(1)); }
  return list;
}
publicstaticlist getstringsin方括号(字符串s){
Pattern p=Pattern.compile(“\\[(.*?\\\]”);
匹配器m=匹配器p;
列表=新的ArrayList();
while(m.find()){list.add(m.group(1));}
退货清单;
}
例如:

public static void main(String args[]) {
  String s = "[Munich, Germany],[Jingle Pot Rd, Nanaimo, BC, Canada]";
  List<String> ss = getStringsInBrackets(s);
  ss.get(0); // => "Munich, Germany"
  ss.get(1); // => "Jingle Pot Rd, Nanaimo, BC, Canada"
}
publicstaticvoidmain(字符串参数[]){
字符串s=“[Munich,Germany],[Kingle Pot路,Nanaimo,BC,Canada]”;
列表ss=GetStringsIn方括号;
ss.get(0);//=>“德国慕尼黑”
ss.get(1);//=>“加拿大不列颠哥伦比亚省纳奈莫市金乐波特路”
}

如果性能成为一个问题,您可以预编译该模式。

尝试在“括号之间的任何内容”(例如,
\[(.*)\]
)上与捕获组匹配,并将该组添加到列表中:

public static List<String> getStringsInBrackets(String s) {
  Pattern p = Pattern.compile("\\[(.*?)\\]");
  Matcher m = p.matcher(s);
  List<String> list = new ArrayList<String>();
  while (m.find()) { list.add(m.group(1)); }
  return list;
}
publicstaticlist getstringsin方括号(字符串s){
Pattern p=Pattern.compile(“\\[(.*?\\\]”);
匹配器m=匹配器p;
列表=新的ArrayList();
while(m.find()){list.add(m.group(1));}
退货清单;
}
例如:

public static void main(String args[]) {
  String s = "[Munich, Germany],[Jingle Pot Rd, Nanaimo, BC, Canada]";
  List<String> ss = getStringsInBrackets(s);
  ss.get(0); // => "Munich, Germany"
  ss.get(1); // => "Jingle Pot Rd, Nanaimo, BC, Canada"
}
publicstaticvoidmain(字符串参数[]){
字符串s=“[Munich,Germany],[Kingle Pot路,Nanaimo,BC,Canada]”;
列表ss=GetStringsIn方括号;
ss.get(0);//=>“德国慕尼黑”
ss.get(1);//=>“加拿大不列颠哥伦比亚省纳奈莫市金乐波特路”
}

如果性能成为一个问题,您可以预编译该模式。

尝试在“括号之间的任何内容”(例如,
\[(.*)\]
)上与捕获组匹配,并将该组添加到列表中:

public static List<String> getStringsInBrackets(String s) {
  Pattern p = Pattern.compile("\\[(.*?)\\]");
  Matcher m = p.matcher(s);
  List<String> list = new ArrayList<String>();
  while (m.find()) { list.add(m.group(1)); }
  return list;
}
publicstaticlist getstringsin方括号(字符串s){
Pattern p=Pattern.compile(“\\[(.*?\\\]”);
匹配器m=匹配器p;
列表=新的ArrayList();
while(m.find()){list.add(m.group(1));}
退货清单;
}
例如:

public static void main(String args[]) {
  String s = "[Munich, Germany],[Jingle Pot Rd, Nanaimo, BC, Canada]";
  List<String> ss = getStringsInBrackets(s);
  ss.get(0); // => "Munich, Germany"
  ss.get(1); // => "Jingle Pot Rd, Nanaimo, BC, Canada"
}
publicstaticvoidmain(字符串参数[]){
字符串s=“[Munich,Germany],[Kingle Pot路,Nanaimo,BC,Canada]”;
列表ss=GetStringsIn方括号;
ss.get(0);//=>“德国慕尼黑”
ss.get(1);//=>“加拿大不列颠哥伦比亚省纳奈莫市金乐波特路”
}

如果性能成为一个问题,您可以预编译该模式。

尝试在“括号之间的任何内容”(例如,
\[(.*)\]
)上与捕获组匹配,并将该组添加到列表中:

public static List<String> getStringsInBrackets(String s) {
  Pattern p = Pattern.compile("\\[(.*?)\\]");
  Matcher m = p.matcher(s);
  List<String> list = new ArrayList<String>();
  while (m.find()) { list.add(m.group(1)); }
  return list;
}
publicstaticlist getstringsin方括号(字符串s){
Pattern p=Pattern.compile(“\\[(.*?\\\]”);
匹配器m=匹配器p;
列表=新的ArrayList();
while(m.find()){list.add(m.group(1));}
退货清单;
}
例如:

public static void main(String args[]) {
  String s = "[Munich, Germany],[Jingle Pot Rd, Nanaimo, BC, Canada]";
  List<String> ss = getStringsInBrackets(s);
  ss.get(0); // => "Munich, Germany"
  ss.get(1); // => "Jingle Pot Rd, Nanaimo, BC, Canada"
}
publicstaticvoidmain(字符串参数[]){
字符串s=“[Munich,Germany],[Kingle Pot路,Nanaimo,BC,Canada]”;
列表ss=GetStringsIn方括号;
ss.get(0);//=>“德国慕尼黑”
ss.get(1);//=>“加拿大不列颠哥伦比亚省纳奈莫市金乐波特路”
}


如果性能成为一个问题,您可以预编译该模式。

Split可能是唯一的解决方案。.显示您的代码您尝试了什么您确定这不是JSON???@HotLicks:看起来不像JSON@GIJoe-如果你把
[]
放在整件事的周围,那就好了。OP会省略JSON表达式周围最外层的括号,这是不言而喻的。拆分可能是唯一的解决方案..显示您的代码您尝试了什么您确定这不是JSON吗???@HotLicks:看起来不像JSON@GIJoe-如果你把
[]
放在整件事的周围,那就好了。OP会省略JSON表达式周围最外层的括号,这是不言而喻的。拆分可能是唯一的解决方案..显示您的代码您尝试了什么您确定这不是JSON吗???@HotLicks:看起来不像JSON@GIJoe-如果你把
[]
放在整件事的周围,那就好了。OP会省略JSON表达式周围最外层的括号,这是不言而喻的。拆分可能是唯一的解决方案..显示您的代码您尝试了什么您确定这不是JSON吗???@HotLicks:看起来不像JSON@GIJoe-如果你把
[]
放在整件事的周围,那就好了。OP将省略JSON表达式周围最外层的括号,这是不言自明的。