我有一个包含文件名的字符串,例如:
"file1.txt file2.jpg tricky file name.txt other tricky filenames containing áéíőéáóó.gif"
如何获得一个一个的文件名?我正在寻找最安全的方法,最好是java标准。已经有了一些正则表达式,我指望您的经验。
编辑:预期结果:“ file1.txt”,“ file2.jpg”,“ tricky文件名.txt”,“其他包含áéíőéáóó.gif的棘手文件名”
感谢您的帮助,Sziro
如果文件名在“。”之前没有字符,则enrico.bacis建议的常规表达式(\ S。?。\ S +)*将不起作用。像.project一样。
正确的模式是:
(([^ .]+ +)*\S*\.\S+)
您可以在这里尝试。
可以提取文件名的Java程序如下所示:
String patternStr = "([^ .]+ +)*\\S*\\.\\S+";
String input = "file1.txt .project file2.jpg tricky file name.txt other tricky filenames containing áéíoéáóó.gif";
Pattern pattern = Pattern.compile(patternStr, Pattern.MULTILINE);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println(matcher.group());
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句