为什么split()失败?

etheros:

我正在尝试获取文件名的扩展名,但是由于某些原因,我无法进行拆分工作:

System.out.println(file.getName()); //gNVkN.png
System.out.println(file.getName().split(".").length); //0

我究竟做错了什么?

拉蒙:

split()接受一个正则表达式(请参见split(java.lang.String)),而不是一个拆分字符串。正则表达式的"."意思是“任何单个字符”(请参阅regex),因此它将对任何内容进行拆分,使列表中没有任何内容。要分割文字点,请使用:

file.getName().split("\\.")// \. escapes . in regex \\ escapes \ in Java.String

通常,您可以使用Pattern.quote(str)获得str字面匹配的正则表达式(由ramon建议

file.getName().split(Pattern.quote("."))

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章