在Java中使用.split需要一些简单的帮助

JD_KX:

我有一个简单的代码:

    public static void main(String[] args) {
        String s = "He is a very very good boy, isn't he?"
        String[] words = s.split("[\\s\\-\\.\\'\\?\\,\\_\\@\\!]");
        System.out.println(words.length);
        for(int i = 0; i<words.length; i++) {
            System.out.println(words[i]);
        }
        scan.close();
    }

那应该输出我这个:

10
He
is
a
very
very
good
boy
isn
t
he

但是相反,它将我打印出来:

11
He
is
a
very
very
good
boy

isn
t
he

谁能建议我如何解决此问题?我知道问题出在我的程序遇到“”时,它会自动拆分字符串,然后再跟“”再次将其拆分,以便在输出中创建一个空行,但是我不知道如何解决它将同时分割多个定界符。

清扫器:

首先,尽管在如正则表达式的特殊含义的字符?,并.在总体上进行转义,他们不需要,当他们在一个字符类中逃脱,[]

因此,您的split通话相当于:

String[] words = s.split("[\\s\\-.'?,_@!]");

-需要转义,因为在字符类中它的意思是“ to”。

本质上,您希望将其", "视为一个定界符。要匹配一个或多个字符,应使用+量词:

String[] words = s.split("[\\s\\-.'?,_@!]+");

在这里,您说的是分隔符至少是字符类中那些字符之一。

以下是一些可视化效果,以查看匹配的字符并进行比较:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

需要一些帮助调试这个java

使用打印语句需要一些帮助

需要一些帮助从查询中取回表,以备将来在我自己的数据库中使用

需要一些帮助将 Java 代码 Android Studio 移植到 C# Visual Studio

在Java上为Cassandra设置Spark时需要一些帮助

我需要帮助使用 XLST 遍历一些 XML 并提取数据

在使用 JS 创建设备方向的视觉表示方面需要一些帮助

使用TKInter构建应用程序,需要一些帮助

需要一些帮助来理解使用 2 的补码的二进制加法/减法

在Java中使用.hasNextInt()进行一些简单异常处理的问题?

一些帮助刮取Java页面的帮助

在简单的PHP中需要一些帮助

我需要一些帮助,使用 Spyder 使用 Celeb_a 数据集设置 Keras-Tuner

需要帮助重构一些重复的Java代码。接口还是泛型还是其他解决方案?

在Java中需要一些有关数组构造函数以及比较数组结果的帮助

需要帮助理解有关 While 循环条件语句和类型转换的一些基本 Java 概念

寻求使用 Powershell 和 JSON 的一些帮助

使用Python SDK的Smartsheet API的一些简单示例

需要Java运算符的一些帮助,获取“一元运算符的错误操作数类型int”错误

使用指定的操作将数字转换为另一个数字。在这方面需要一些帮助

在Java中使用split

需要了解一些Java代码

陷入Java面试中,需要一些提示

Java中的排序合并代码需要一些澄清

在C ++中使用模板是否需要一些任务初始化?

我需要一些使用正则表达式提取器获取值的帮助。我没有任何价值

使用 javascript 和 jquery 具有一个功能的多次点击事件。这段代码工作正常,但需要一些简单的代码

grep需要一些帮助

在 RegEx 上需要一些帮助