0

需要一些关于模式数学的帮助;我只需要从字符串中提取文件名,例如:

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&amp;do=get&amp;target=Images/x.jpg">

& 如果它们是相同的图像,则将目标替换为 URL 字符串。

我可以正则表达式

请问有什么帮助吗?

4

3 回答 3

7

它不需要任何正则表达式。

像这样使用:

String code = "...";
String filename = code.substring(code.lastIndexOf("/")+1, code.length());

编辑:在第二种情况下,你不需要标签的结尾,所以使用 code.length()-2

于 2013-10-17T11:12:56.470 回答
0

试试这个:

str.replaceAll("^.*([a-z]+\\.[a-z]+).*$","$1");

() 将文件名分组为 $1。

于 2013-10-17T11:13:31.450 回答
0

就这么简单:

String filename1 = url.replaceAll(".*/([^/]+)", "$1");
String filename2 = xml.replaceAll(".*/([^\"]+)\".*", "$1");
if (filename1.equals(filename2))
    xml = xml.replaceAll("(.*/)([^\"]+)(\".*)", "$1" + url + "$3");
于 2013-10-17T11:41:08.467 回答