我有句话,你好,你在做什么?你好吗?我想用像……这样的字符来分割句子?我使用拆分函数实现了它,输出如下:
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]=?
我已经完成了这段代码
String text = "hello, What you are doing?How are you?";
String[] arr= text.split("[\\.,!;?:\"]+");
for (String str : arr) {
System.out.println(str);
}
请帮帮忙。
发布于 2018-07-06 10:52:55
保存文本同时在文本上分割的一般策略是使用旁观者。查找断言逻辑,但实际上不使用任何文本。基本上是零宽度。我使用下面的模式进行拆分:
(?=[\\.,!;?:\"])|(?<=[\\.,!;?:\"])
这意味着,如果我们向前看或向后看,看到标点符号,就会分裂。
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
,以获得所需的确切输出。
https://stackoverflow.com/questions/51208686
复制相似问题