Java - 基于多个分隔符分割字符串

发布于 2025-01-02 20:04:59 字数 161 浏览 0 评论 0原文

我本质上想根据句子分割一个字符串,因此(为了我正在做的事情),只要有 !, ., ?:;

我如何通过多个项目来分割数组来实现这一点?

谢谢!

I essentially want to split up a string based on the sentences, therefore (for the sake of what I'm doing), whenever there is a !, ., ?, :, ;.

How would I achieve this with multiple items to split the array with?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

玩套路吗 2025-01-09 20:04:59

String.split 采用正则表达式进行分割,因此您可以简单地:

mystring.split("[!.?:;]");

String.split takes a regex to split on, so you can simply:

mystring.split("[!.?:;]");
有深☉意 2025-01-09 20:04:59

Guava 的 Splitter 有点String.split() 更可预测

Iterable<String> results = Splitter.on(CharMatcher.anyOf("!.?:;"))
   .trimResults() // only if you need it
   .omitEmptyStrings() // only if you need it
   .split(string);

然后您可以使用 Iterables.toArrayLists.newArrayList 按照您喜欢的方式包装输出结果。

Guava's Splitter is a bit more predictable than String.split().

Iterable<String> results = Splitter.on(CharMatcher.anyOf("!.?:;"))
   .trimResults() // only if you need it
   .omitEmptyStrings() // only if you need it
   .split(string);

and then you can use Iterables.toArray or Lists.newArrayList to wrap the output results how you like.

顾忌 2025-01-09 20:04:59

String.split 的参数是正则表达式,因此您可以创建与任何这些字符匹配的模式。

s.split("[.!:;?]");

The argument of String.split is a regex, so you can create a pattern that matches any of those characters.

s.split("[.!:;?]");
洋洋洒洒 2025-01-09 20:04:59

您可以使用 String.split(String regex) 方法,参数为 "[!.?:;]"

You can use the String.split(String regex) method with parameter "[!.?:;]".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文