我没有使用 Java 中的正则表达式的经验,但我认为我们可以使用正则表达式解决这个问题,而且它比我的示例更容易。我有一个带有双||符号的文本。文本可以看起来像:
1) aaa||bbb||ccc、
2) aaa||||ccc、
3) ||bbb||ccc、
4)|| ||cccc等。
我想在 first ||- bbb之后提取文本,然后在 second ||- ccc之后提取文本。我做了:
Pattern p = Pattern.compile("||",Pattern,DOTALL);
String types[] = p.split(stringToParse);
但是当字符串没有 3 个部分时,这不起作用。
第二个想法是:
Pattern p = Pattern.compile("||",Pattern,DOTALL);
Matcher m= p.matcher(strToParse);
while (m.find()) {
System.out.println(m.group() + " " + m.start() + " " + m.end());
}
然后我知道什么时候||发生并且可以做子串。是否存在更简单、更简单的方法来解决这个问题?