用Java替换QueryString中的Param

Mah*_*han 0 java string design-patterns matcher

假设我有一个url param,token=1234235asdjaklj231k209a&name=sam&firname=Mahan 我怎样才能用新的替换令牌的值?我以前用模式和匹配器做了类似的事情,但我现在不记得了,但我知道有办法这样做更新:令牌可以包含任何字母,但提前感谢

And*_*eas 6

Spring有一个可以优雅地处理这种需求的工具.Apache httpcomponents也是如此.下面是一个春天的例子.

import org.springframework.web.util.UriComponentsBuilder;
import java.net.URI;


public class StackOverflow {

  private static class SO46303058 {
    public static void main(String[] args) {
      final String urlString = "https://subdomain.hostname/path/resource?token=1234235asdjaklj231k209a&name=sam&firname=Mahan";
      final URI uri = UriComponentsBuilder.fromHttpUrl(urlString)
          .replaceQueryParam("token", "abc")
          .build().toUri();
      System.out.println(uri);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

不要害怕为项目添加依赖项,它会重新发明轮子.