gpt4 book ai didi

java - 为什么这个 split() 会失败?

转载 作者:搜寻专家 更新时间:2023-10-31 08:05:44 25 4
gpt4 key购买 nike

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

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("."))

关于java - 为什么这个 split() 会失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1654045/

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