gpt4 book ai didi

Java 拆分空格和特殊字符

转载 作者:搜寻专家 更新时间:2023-11-01 01:10:21 27 4
gpt4 key购买 nike

我试图在空格和一些特定的特殊字符上拆分字符串。

给定字符串“john - & + $ ? . @ boy”我想获取数组:

array[0]="john";
array[1]="boy";

我已经尝试了几个正则表达式,但没有任何进展。这是我目前的目标:

String[] terms = uglString.split("\\s+|[\\-\\+\\$\\?\\.@&].*");

保留“john”而不是“boy”。谁能给我剩下的这个?

最佳答案

只需使用:

String[] terms = input.split("[\\s@&.?$+-]+");

您可以将简写字符类放在字符类中(注意 \s),大多数元字符在字符类中都失去了意义,除了 [, ], -, &, \。但是,&只有在成对的&&中才有意义,-如果放在&&的开头或结尾,则被视为文字字符字符类。

其他语言可能有不同的模式解析规则,但关于 - 的规则适用于大多数引擎。

正如@Sean Patrick Floyd 在他的回答中提到的,重要的事情归结为定义什么构成一个词。 \w在Java中等同于[a-zA-Z0-9_](英文字母大小写、数字和下划线),因此,\W 由所有其他字符组成。如果你想考虑 Unicode 字母和数字,你可能想看看 Unicode character classes .

关于Java 拆分空格和特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21054524/

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