例如在" abc"。
之后获取3个字符的子字符串abcxyzabcpqrabclmnoabcdef
输出应该是
xyz
prq
lmn
def
我只能获取第一次出现但不是全部。
答案 0 :(得分:2)
这是一个正则表达式:
(?<=abc)...
(?<=abc)
表示只有在它之前存在字符abc
时才匹配其后的模式。并且...
表示匹配任何字符中的3个。
final String regex = "(?<=abc)...";
final String string = "abcxyzabcpqrabclmnoabcdef";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println(matcher.group(0));
}
答案 1 :(得分:0)
尝试使用以下代码剪切,它适合您。
String str="abcxyzabcpqrabclmnoabcdef";
String[] strCsv=str.split("abc");
for(int i=0;i<strCsv.length;i++){
String str1=strCsv[i];
if(str1.length()>=3)
{
System.out.println(str1.substring(0,3));
}
}