如何用两个定界符分割一个字符串并只保留其中一个?

nsol:

我想在标点符号和空格中拆分字符串,但保留标点符号。防爆

String example = "How are you? I am fine!"

我想要有一个结果

["How","are","you","?","I","am","fine","!"]

但是我得到了

["how"," ","are"," ","you"," ","?"," ","i"," ","am"," ","fine"," ","!"].

我用的是 example.toLowerCase().trim().split("(?<=\\b|[^\\p{L}])");

扎布扎德:

你为什么要这么做toLowerCase()这已经弄乱了您的预期结果。以及为什么trim()在完整字符串上?

只需一个split电话即可完成操作。

一种替代方法是只过滤掉不需要的条目:

String example = "How are you? I am fine!";

Pattern pattern = Pattern.compile("\\b");
String[] result = pattern.splitAsStream(example)
    .filter(Predicate.not(String::isBlank))
    .toArray(String[]::new);

System.out.println(Arrays.toString(result));

输出:

[How, are, you, ? , I, am, fine, !]

对您希望[How,are,you,?,I,am,fine,!]作为输出的评论作出反应只是不打印,Arrays.toString而是自己手动构建字符串。该数组不包含任何空格。

System.out.println("[" + String.join(",", result) + "]");

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

用几个定界符python分割一个字符串

如何将一个字符串分成两个,然后将其中一个字符串变成一个数字[php]

如何在多个定界符上拆分一个字符串,但只捕获一些?

如何将一个字符串的项目拆分为两个,其中一个包含以'-D'开头的项目?

如何查找包含两个字符串的字符串并替换其中一个

如何用另一个字符串的前两个字符替换一个字符串的前两个字符?

优雅地删除StringBuilder中最后一个字符串之后的“ \ n”定界符

在定界符后找到最后一个字符串:Javascript

如何拆分字符串,其中一个字符是分隔符,另一个是内容

Pandas DataFrame-提取两个字符串之间的字符串,并包含第一个定界符

最好的方法是用两个不同的定界符来分割字符串,将两个词都大写(仅包含一个定界符,然后再添加两个定界符)?

如何用'.'将一个字符串分割成一个对象?

如何从一个字符串中一次读取两个字符并复制到另一个字符串中

如何比较两个字符串,其中一个带有反引号

分割字符串,但保留第一个定界符

Java用多个定界符分割字符串,其中一些是2个字符的序列

如何将文本从.txt文件分离到数据库中的另一列?(定界符是一个字符串)

Java(android):如何按每两个换行符分割一个字符串?

连接两个字符串,其中第一个字符串在末尾有一个空格

如何用一个字符多次出现来分割一个字符串

用两个字符的间隔分割一个字符串

如何用C ++中的两个字符串向量创建一个字符串?

如何连接两个字符串(一个是变量),同时仍然能够重用其中一个参数(变量)?

用连续的定界符分割并且最后一个字符为空

给定一个字符串,返回一个字符串,其中每个字符都是原始字符,有两个字符?

当其中一个字符串可以为null时,如何检查Java中两个字符串是否相等?

删除定界符前的最后一个字符

拆分一个字符串并只保留一个特定的部分

如何用两个定界符分割字符串?