我有一句话, 你好,你在做什么?你好吗? 我想用。,?等字符来分隔句子。 我已经使用拆分功能实现了它 输出为:
<form #myForm = "ngForm" (submit)="callMyAPI(); myForm.resetForm()">
但是我希望数组为
arr[0]=hello
arr[1]=What you are doing
arr[2]=How are you
我已经完成了这段代码
arr[0]=hello
arr[1]=,
arr[2]=What you are doing
arr[3]=?
arr[4]=How are you
arr[5]=?
请帮助。
答案 0 :(得分:3)
在保留文本的同时还要拆分文本的一般策略是使用环顾四周。环顾四周方法声明逻辑,但实际上不消费任何文本。它们基本上是零宽度。我使用以下模式拆分:
(?=[\\.,!;?:\"])|(?<=[\\.,!;?:\"])
这表示如果我们向前看或并看到标点符号,则进行拆分。
String sentence = "hello, What you are doing?How are you?";
String[] parts = sentence.split("(?=[\\.,!;?:\"])|(?<=[\\.,!;?:\"])");
for (String part : parts) {
System.out.println(part);
}
hello
,
What you are doing
?
How are you
?
您可能还希望在每一项上运行String#trim
以获得所需的准确输出。