提问人:CreativeDifference 提问时间:12/25/2021 更新时间:12/25/2021 访问量:928
在最后出现斜杠时拆分字符串
Splitting a String at last occurrence of slash
问:
在 java 中,我可以在字符(在这种情况下是点)最后一次出现时进行拆分,如下所示: 但是当我尝试在最后一次出现斜杠时拆分它时,如下所示: 它给了我以下警告: RegExp 中的冗余字符转义“\/”String[] parts2 = path.split("\\.(?=[^.]*$)"); String Folderpath = parts2[0];
String[] parts2 = path.split("\\/(?=[^.]*$)"); String Folderpath = parts2[0];
任何帮助将不胜感激!
答:
2赞
passer-by
12/25/2021
#1
您使用了错误的工具来完成这项工作。
String folderPath = path.substring(0, path.lastIndexOf('/'));
但是您的实际问题是“/”在 Java 正则表达式语法中并不特殊,因此不需要用“\”进行转义。这就是警告消息告诉你的。删除“/”前面的反斜杠。
评论
1赞
user16320675
12/26/2021
不要忘记测试返回的索引是否不是lastIndexOf
-1
2赞
passer-by
12/26/2021
不,只需编写异常处理程序:-)你当然是对的,但我的观点是演示技术,而不是编写生产代码。
0赞
CreativeDifference
12/26/2021
谢谢!问候亚历山大
下一个:如何向用户显示网站状态码?
评论
"/(?=[^/]*$)"
lastIndexOf