gpt4 book ai didi

java - 用 '.' 拆分 Java 字符串

转载 作者:搜寻专家 更新时间:2023-10-31 08:11:10 26 4
gpt4 key购买 nike

我有

1. This is a  test message

我要打印

This is a  test message

我在努力

String delimiter=".";
String[] parts = line.split(delimiter);
int gg=parts.length;

比想打印数组

 for (int k ;k <gg;K++)
parts[k];

但是我的gg一直是0。我错过了什么吗?我只需要删除数字和 。和空格

数字可以是1(或)5位数字

最佳答案

您正在使用 "."作为分隔符,您应该打破 . 的特殊含义字符。

.正则表达式中的 char 是“任何字符”,因此您的拆分只是根据“任何字符”进行拆分,这显然不是您想要的。

使用 "\\."作为分隔符

有关预定义字符类的更多信息,您可以 have a look at the tutorial .
有关常规正则表达式的更多信息(包括以上内容),您可以尝试this tutorial


编辑:
附言使用 String.replaceAll() 可以通过单行代码实现您的目标(删除数字)方法。

System.out.println(line.replaceAll("[0-9]+\\.\\s+", ""));

将提供输出

This is a  test message

对于您的输入示例。

思路是:[0-9]是任何数字。 - +表示它们可以有任意数量,大于 0。 \\.是一个点(上面提到的中断)和 \\s+至少是一个空格。
全部替换为空字符串。

但是请注意,对于像这样的字符串:"1. this is a 2. test" - 它将提供“这是一个测试”,并删除“2.”,因此请仔细考虑这是否确实是您所追求的。

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

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