gpt4 book ai didi

android:用标点符号划分字符串并用数组中的句子维护标点符号

转载 作者:搜寻专家 更新时间:2023-11-01 08:20:57 25 4
gpt4 key购买 nike

我有一句话,你好,你在做什么?你好吗?我想用 .,? 等字符拆分句子我已经使用拆分功能实现了它输出是:

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);
}

请帮忙。

最佳答案

保留文本同时拆分文本的一般策略是使用环视。环视断言逻辑,但实际上不消费任何文本。它们基本上是零宽度。我使用以下模式拆分:

(?=[\\.,!;?:\"])|(?<=[\\.,!;?:\"])

这表示如果我们向前看向后看并看到标点符号,则拆分。

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
?

Demo

您可能还想对每个术语运行 String#trim 以获得您想要的准确输出。

关于android:用标点符号划分字符串并用数组中的句子维护标点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51208686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com