我没有使用 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());
}
然后我知道什么时候||
发生并且可以做子串。是否存在更简单、更简单的方法来解决这个问题?