根据字符串的不同模式拆分字符串[重复]
Posted
技术标签:
【中文标题】根据字符串的不同模式拆分字符串[重复]【英文标题】:Split string based on different patterns of a string [duplicate] 【发布时间】:2020-09-25 04:01:52 【问题描述】:我想根据多个字符串模式在字符串中查找子字符串。
例如:"word1 word2 word3 and word4 word5 or word6 in word7 in word8"
根据and
、or
、in
进行拆分。
输出应该是
word1 word2 word3
and word4 word5
or word6
in word7
in word8
【问题讨论】:
【参考方案1】:与此一起使用:
String str = "word1 word2 word3 and word4 word5 or word6 in word7 in word8";
String[] parts = str.split("and |in |or ");
for(String part : parts)
System.out.println(part);
【讨论】:
但是这不会打印它被分割的关键字。【参考方案2】:您可以使用前瞻来做到这一点,?=
如下所示:
import java.util.Arrays;
public class Main
public static void main(String[] args)
String str = "word1 word2 word3 and word4 word5 or word6 in word7 in word8";
String[] arr = Arrays.stream(str.split("(?=\\s+and)|(?=\\s+or)|(?=\\s+in)"))
.map(String::trim)
.toArray(String[]::new);
// Display
Arrays.stream(arr).forEach(System.out::println);
输出:
word1 word2 word3
and word4 word5
or word6
in word7
in word8
【讨论】:
以上是关于根据字符串的不同模式拆分字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章