在Java字符串中查找标记

dig*_*nie 2 java string

有没有一种很好的方法来提取以预定义字符串开头并以预定义字符串结尾的标记?

例如,假设起始字符串为"[",结束字符串为"]".如果我有以下字符串:

"你好[世界]这[是]我"

输出应该是:

token [0] ="世界"

token [1] ="[是"

(注意:第二个令牌中有一个'start'字符串)

Jon*_*Jon 8

我认为您可以使用StringUtils中存在的Apache Commons Lang功能:

substringsBetween(java.lang.String str,
                  java.lang.String open,
                  java.lang.String close)
Run Code Online (Sandbox Code Playgroud)

API文档说:

在字符串中搜索由开始和结束标记分隔的子字符串,返回数组中所有匹配的子字符串.

可以在此处找到API之间的Commons Lang子字符串:

http://commons.apache.org/lang/apidocs/org/apache/commons/lang/StringUtils.html#substringsBetween(java.lang.String,%20java.lang.String,%20java.lang.String)