需要一些关于模式数学的帮助;我需要从字符串中提取文件名,如:
https://www.testsite.com/files/form/anonymous/api/library/ecb198be-1f05-4b0b-b0cd-7d878488a8c4/document/050cc508-1ea6-4b5f-a22b-b3edbdf6291f/media/x.jpg
只是x.jpg部分
&安培;也来自这个字符串:
<img alt="/JAGC/Images?action=AttachFile&do=get&target=Images/x.jpg">
&安培;如果它们是相同的图像,则用URL字符串替换目标。
我可以正确地说出来了
请帮忙吗?
答案 0 :(得分:5)
它不需要任何正则表达式。
像这样使用:
String code = "...";
String filename = code.substring(code.lastIndexOf("/")+1, code.length());
编辑: 在第二种情况下,您不需要标记的结尾,因此请使用code.length() - 2
答案 1 :(得分:0)
试试这个:
str.replaceAll("^.*([a-z]+\\.[a-z]+).*$","$1");
()将文件名分组为$ 1.
答案 2 :(得分:0)
这很简单:
String filename1 = url.replaceAll(".*/([^/]+)", "$1");
String filename2 = xml.replaceAll(".*/([^\"]+)\".*", "$1");
if (filename1.equals(filename2))
xml = xml.replaceAll("(.*/)([^\"]+)(\".*)", "$1" + url + "$3");