我正在尝试创建一个将给定字符串拆分成多个部分的程序,如果它有两个或多个连续的大写字母,则将全部转换为小写。拆分字符串后,它将删除任何非字母字符,将其全部转换为小写,然后将非字母字符重新放入。我有逻辑将其全部转换为小写,但它不会拆分我想要的字符串。目前,我正试图这样做:
我目前在这里是我要做的所有事情:http://pastebin.com/ppBykvY4
“[A-Z] {2}”是两个连续的首都,但我不知道如何包括其余的。 {Punc}只有在我可以排除除“!”,“?”,“。”之外的所有内容时才有效。
另外,我正在使用BukkitAPI。
实施例: 如果用户输入了上述所有示例(在项目符号中),则应为:
答案 0 :(得分:2)
如果您需要多个分隔符,请使用|
。
String[] message = chat.split("regex|regex|regex");
所以我认为它最终会是这样的:
String[] message = chat.split("[A-Z]{2}|[.!?]|[\s]");
使用以下方式进行测试: http://www.regexplanet.com/advanced/java/index.html