gpt4 book ai didi

java - 在字符串java中用字符*分割

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:56:17 27 4
gpt4 key购买 nike

我有一个字符串 String placeStr="place1*place2*place3"我想获取包含 place1、place2、place3 的数组,如下所示:

String[] places=placeStr.split("*");
System.out.println(places[0]);

但它显示错误 E/AndroidRuntime(32118): Caused by: java.util.regex.PatternSyntaxException: Syntax error in regexp pattern near index 1: *

我认为原因是字符“*”。如果我将 * 更改为 -,则显示正常。我该怎么办?

最佳答案

当您使用 Regexp 时,\* 表示最后定义的表达式的 0 或更多 个实例。例如。

s* 表示匹配任何具有 0 或更多“s”的内容。这将匹配 "ss""sssss"""

当我们想要实际搜索*,而不是将其用作运算符时,我们需要使用\对它进行转义特点。但是,单数 \ 用于特殊字符(例如 \s\t),所以我们还需要转义 字符,与另一个 \

这导致:

\ (ignore the next slash)
\ (ignore the star)
* (would be 0 or many, but its been ignored so means the literal.)

换句话说

\\*

而在 Java 中,我们可以这样使用它:

String[] places=placeStr.split("\\*");
System.out.println(places[0]);

关于java - 在字符串java中用字符*分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20379760/

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