当前位置:  开发笔记 > 编程语言 > 正文

为什么split()会失败?

如何解决《为什么split()会失败?》经验,为你挑选了2个好方法。

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

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

我究竟做错了什么?



1> Ramon..:

split()采用正则表达式(请参阅split(java.lang.String)),而不是要拆分的分隔符字符串.正则表达式"."意味着"任何单个字符"(请参阅正则表达式),因此它将拆分在您列表中没有任何内容的任何内容上.要在文字点上拆分使用:

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

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

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



2> jitter..:

也许你应该重读api-doc for split(java.lang.String)

传入的字符串是正则表达式.

尝试使用

split("\\.")

您需要双反斜杠,因为它\.是Java字符串中的无效转义.所以你需要在javastring中转义反斜杠本身.

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有