使用Regex动态替换URL中的部分

时间:2014-11-14 22:52:34

标签: java regex

我尝试寻找类似的东西,但却找不到任何东西。我在网址中的特定部分后尝试替换几个字符时遇到了困难。

以下是网址:https://scontent-b.xx.fbcdn.net/hphotos-xpf1/v/t1.0-9/s130x130/10390064_10152552351881633_355852593677844144_n.jpg?oh=479fa99a88adea07f6660e1c23724e42&oe=5519DE4B

我想删除/ v / part,离开t1.0-9,同时删除/s130x130/。我不能只替换s130x130,因为那些可能是不同的变量。我该怎么做呢?

我有一个以前使用此代码的网址:

            if (pictureUri.indexOf("&url=") != -1)
            {
                String replacement = "";

                String url = pictureUri.replaceAll("&", "/");

                String result = url.replaceAll("().*?(/url=)",
                        "$1" + replacement + "$2");                 

                String pictureUrl = null;

                if (result.startsWith("/url="))
                { 
                    pictureUrl = result.replace("/url=", "");
                }
            }

我可以使用上述网址执行类似的操作吗?

1 个答案:

答案 0 :(得分:1)

使用正则表达式

/v/|/s\d+x\d+/

替换为

/

它从

转换字符串
https://scontent-b.xx.fbcdn.net/hphotos-xpf1/v/t1.0-9/s130x130/10390064_10152552351881633_355852593677844144_n.jpg?oh=479fa99a88adea07f6660e1c23724e42&oe=5519DE4B

https://scontent-b.xx.fbcdn.net/hphotos-xpf1/t1.0-9/10390064_10152552351881633_355852593677844144_n.jpg?oh=479fa99a88adea07f6660e1c23724e42&oe=5519DE4B

here。这是你想要做的吗?