从url java中减去特定参数

从url java中减去特定参数,java,Java,我需要从URL中减去一个特定参数(urlReturn),如下所示: http://somedomain.mx/th=6048000&campus=A&matric=L01425785&serv=GRAD&count=2&per=TEST&passwd=69786e720c0f0e&mount=1000.00&urlReturn=http://somedomain.mx:7003/SP/app/login.xhtml?id=1234&mat=2323&fh=05012014124755&store

我需要从URL中减去一个特定参数(urlReturn),如下所示:

http://somedomain.mx/th=6048000&campus=A&matric=L01425785&serv=GRAD&count=2&per=TEST&passwd=69786e720c0f0e&mount=1000.00&urlReturn=http://somedomain.mx:7003/SP/app/login.xhtml?id=1234&mat=2323&fh=05012014124755&store=TESO

我的最后一个字符串应该如下所示:

String url返回=http://somedomain.mx:7003/SP/app/login.xhtml?id=1234&mat=2323;

字符串的其余部分应如下所示:

字符串urlReturn2=http://somedomain.mx/th=6048000&campus=A&matric=L01425785&serv=GRAD&count=2&per=TEST&passwd=69786e720c0f0e&mount=1000.00&fh=05012014124755&store=TESO

我目前有:

String string = string.toString().split("\\&")[0];
但是urlReturn参数应该始终作为第一个参数出现。

使用

尝试以下操作(s是您的原始字符串):


当然一点也不优雅,但很实用。我现在真的需要一些睡眠,所以请仔细回答:)您也可以通过contains方法检查参数是否在字符串s中,以避免索引越界异常。

您做了什么?告诉我们您做了什么。只需要一个子串和几个索引就可以得到你想要的。这不会产生任何接近OP要求的东西。@Keppil它可以让他提取出他需要的部分。他当然需要再次分裂才能得到第一部分,但我不会为他做所有的工作。我不想为正则表达式操心,因为如果他问这个问题,这可能暂时超出了他的能力范围。不,它允许他提取他需要的部分,同时丢弃他想要保留的部分。@Keppil你仍然可以在同一个原始字符串上进行另一次拆分,然后将它们连接在一起
url.split("\\?")[1];
 urlReturn = s.substring(0, s.indexOf("&urlReturn=")).replace("&urlReturn=", "");
 urlReturn2 = s.substring(s.indexOf("&urlReturn=")).replace("&urlReturn=", "");