gpt4 book ai didi

java - Java中如何分割特定字符串

转载 作者:行者123 更新时间:2023-12-02 05:48:09 25 4
gpt4 key购买 nike

我正在尝试创建一个程序,将给定的字符串拆分为多个部分,然后如果它有两个或多个连续的大写字母,则将其全部转换为小写。分割字符串后,它会去除所有非字母字符,将其全部转换为小写,然后将非字母字符放回原处。我有逻辑将其全部转换为小写,但它不会分割字符串正是我想要的。目前,我正在努力做到这一点:

  • 拆分有两个或多个连续大写字母的字符串,然后将其全部小写 (THIS_IS_A_TEST)
  • 在有“!”、“?”或“.”的地方分割字符串。 (这是!测试)
  • 在有空格的地方分割字符串(这是一个测试)

我目前这里是我要做这件事的一切:http://pastebin.com/ppBykvY4

其中“[A-Z]{2}”表示两个连续的大写字母,但我不知道如何包含其余部分。仅当我可以排除除“!”、“?”、“.”之外的所有内容时,{Punc} 才会起作用。

此外,我正在使用 BukkitAPI。

示例:如果用户输入了上述所有示例(在项目符号中),它们应该是:

  • this_is_a_test
  • 这.is!.a?测试
  • 这是一个测试

最佳答案

如果您想要多个分隔符,请使用|

String[] message = chat.split("regex|regex|regex");

所以我认为最终会是这样的:

String[] message = chat.split("[A-Z]{2}|[.!?]|[\s]");

enter image description here

测试使用: http://www.regexplanet.com/advanced/java/index.html

关于java - Java中如何分割特定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23847882/

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