假设我有一个像这样的字符串"[cat]:|:[]:|:[dog]:|:[cow]:|:[]:|:[]:|:[monkey]"
。
我可以从上面的字符串中打印[cat][dog][cow][monkey]
。
我怎么能打印这样的东西= [cat]:|:[dog]:|:[cow]:|:[monkey]
。
请帮忙。
import java.util.regex.*;
public class RegexMain {
static final String PATTERN = "\\[([^]]+)\\]|\"[^\"]*\"";
static final Pattern CONTENT = Pattern.compile(PATTERN);
public static void main(String[] args) {
String test1 = "[cat] [] [dog] [cow] [] [] [monkey]";
Matcher match = CONTENT.matcher(test1);
while(match.find()) {
if(match.group(1).length() != 0) {
System.out.print( match.group().trim());
}
}
}
}
答案 0 :(得分:1)
我实际上不确定你的字符串是什么(你在解释和代码中使用不同的字符串)。无论如何你可以试试这个:
public static void main(String[] args) {
String s = "[cat]:|:[]:|:[dog]:|:[cow]:|:[]:|:[]:|:[monkey]";
System.out.println(s.replaceAll(":\\[\\]:\\|", ""));
}
O / P:
[cat]:|:[dog]:|:[cow]:|:[monkey]
答案 1 :(得分:0)
怎么样
System.out.print( match.group().trim() + ":|:");