gpt4 book ai didi

Java 在 "."和 "?"上拆分字符串

转载 作者:行者123 更新时间:2023-11-29 09:44:39 25 4
gpt4 key购买 nike

public static void main(String[] args){
String testStr = "Test test. Test 2. Test3?";
String[] newStr = testStr.split(".?");
System.out.print(newStr[0]);
}

运行此命令时出现数组索引越界异常,newStr 的长度为 0。我想将句子分解为“.”上的标记。和 ”?”。我犯了什么错误?

最佳答案

String#split以正则表达式作为参数进行拆分。 .? 在正则表达式中有特殊含义。

您可以使用字符类来拆分它们中的任何一个:

testStr.split("[.?]");

在字符类中你不需要转义它们,因为特殊字符在字符类中失去意义。

如果你使用普通管道 |,你需要转义它:-

testStr.split("\\.|\\?");

更新:- 如果您想保留分隔符:

testStr.split("(?<=[.?])")

关于Java 在 "."和 "?"上拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12928138/

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