我有一个字符串说
String s =" | India | vs Aus&#34 ;;
在这种情况下,结果应该只是印度。
第二种情况:
String s =" Aus vs | India |&#34 ;; 在这种情况下,结果应该只是印度。
第3例:
String s =" | India | vs | Aus |" 结果shouls仅包含 India,Aus 。 vs不应出现在输出中。
在这些情况下,可以使用任何其他词代替,例如字符串也可以像这样|印度| in | Aus |。和String也可以像这样|印度|和|斯里兰卡| in | Aus |。我希望在印度,斯里兰卡,澳大利亚这两个管道之间出现这些话。
我想用Java做。
任何指针都会有所帮助。
答案 0 :(得分:6)
你会使用像...这样的正则表达式。
\|[^|]+\|
...或...
\|.+?\|
您必须转义管道,因为管道在正则表达式中具有或的特殊含义。
答案 1 :(得分:4)
您正在寻找类似的内容:
String s = "|India| vs |Aus|";
Pattern p = Pattern.compile("\\|(.*?)\\|");
Matcher m = p.matcher(s);
while(m.find()){
System.out.println(m.group(1));
}
您需要使用该组来获取正则表达式中的paranthesis内的内容。