我需要以.doc
结束所有文件,并且我有一些自定义扩展程序,例如.doc.25-40
,
.doc2
等。我需要使用.doc.*
filename.endsWith(".doc.*");
失败了为什么?
答案 0 :(得分:4)
不,这不起作用。 Java不支持简单的通配符。您必须使用Regex方法,例如:
filename.matches(".*\\.doc.*")
说明:
.* // any text
\\. // a period
doc // "doc"
.* // any text
答案 1 :(得分:4)
因为那与
相同filename.contains(".doc");
失败,因为字符串比较是文字的,例如file.DOC也会失败。
答案 2 :(得分:0)
String.endsWith()查找特定的char序列,不能使用通配符。您正在寻找的是使用正则表达式的String.matches(String regex)。
filename.matches(".*\\.doc.*")