gpt4 book ai didi

java - 扫描仪定界符,注册。表达问题

转载 作者:行者123 更新时间:2023-11-30 07:32:45 24 4
gpt4 key购买 nike

我在使用 reg 时遇到了一个小问题。用扫描仪表达

代码如下:

String name;
Pattern p = Pattern.compile("\\s+|\\W+|\\_+");
ArrayList<String> reay = new ArrayList<String>(1000);
try {
Scanner asdf = new Scanner(new File(s)).useDelimiter(p);
while (asdf.hasNext()) {
name = asdf.next();
reay.add(name);

}
asdf.close();
}

和生成的数组(在文本文件中使用了大量非单词字符):

[arst, , tdnxc, , rst, , arst, , arst, wfp, arst, , arst]

不确定我遗漏了什么以及为什么我的数组中有空白条目

最佳答案

您的正则表达式匹配一个或多个空格,然后是 OR 一个或多个非单词,然后是 OR 一个或多个下划线。

所以对于“$_”的输入,它会说,空格是匹配的!捕获下一个定界符之前的内容... $ 是匹配项!返回空格和 $ 之间的空字符串。捕获下一个定界符之前的内容.. _ 是一场比赛!返回 $ 和 _ 之间的空字符串。

我想你的意思是你的分隔符是:

[\\s\\W_]+

关于java - 扫描仪定界符,注册。表达问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6348692/

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