当前位置: 首页 > 知识库问答 >
问题:

从查询字符串中删除请求参数

荆哲
2023-03-14

我有一个查询字符串,可以是:

/fr/hello?language=en
/fr/welcome?param1=222&param2=aloa&language=en
/it/welcome?param1=222&language=en&param2=aa
/fr/hello
/fr/welcome?param1=222&param2=aloa
/it/welcome?param1=222&param2=aa

编辑:参数值的长度可以大于2

有人知道在String.ReplaceAll([regex],[replace])中使用什么好的regex表达式吗?

共有1个答案

解明辉
2023-03-14

您可以将regexreplaceAll()一起使用

public static void main(String[] args) {
    String s1 = "/fr/welcome?language=en";
    String s2 = "/fr/welcome?param1=222&param2=aloa&language=en";
    String s3 = "/fr/welcome?param1=222&language=en&param2=aa";
    String pattern = "[?&]language=.{2}"; // use pattern = "([?&]language=\\w+)"; for more than 2 letters after language ==.
    System.out.println(s1.replaceAll(pattern, ""));
    System.out.println(s2.replaceAll(pattern, ""));
    System.out.println(s3.replaceAll(pattern, ""));
}

O/P:

/fr/welcome
/fr/welcome?param1=222&param2=aloa
/fr/welcome?param1=222&param2=aa
 类似资料:
  • 问题内容: 从Java脚本的路径中删除查询字符串的简单方法是什么?我已经看到了使用window.location.search的Jquery插件。我不能这样做:在我的情况下,URL是从AJAX设置的变量。 问题答案: 一个简单的方法是: 对于那些还希望 在不存在querystring的情况* 下 删除哈希 (不是原始问题的一部分)的人,需要做更多的工作: * 编辑 @caub(最初为@crl)建议

  • 问题内容: 除了使用正则表达式之外,还有没有更好的方法可以从标准Ja​​vaScript中的URL字符串中的查询字符串中删除参数? 到目前为止,这是我想出的方法,似乎可以在我的测试中使用,但是我不希望重新发明querystring解析! 问题答案: 似乎很危险,因为它的参数“ bar”会匹配: 另外,如果包含RegExp中特殊的任何字符(例如“。”),它将失败。而且它不是全局正则表达式,因此只会删

  • 问题内容: 我有一个HTTP客户端(目前)的Node.js应用程序。所以我在做: 这似乎是完成此任务的一种好方法。但是,我有些沮丧,我必须执行此步骤。这应该由一个公共库封装,但是我还没有看到它存在于node的库中,而且我不确定哪个标准的npm包可以完成它。有没有一种合理使用的更好的方法? url.format方法节省了构建自己的URL的工作。但理想情况下,请求的级别也应高于此级别。 问题答案: 检

  • 我想使用spring的RestTemplate进行REST调用,URL包含一些可选的查询参数。URL看起来类似于 url=example.com/param1={param1}&param2={param2} 我使用exchange方法将参数作为映射传递给restTemplate RESTTemplate.Exchange(url、方法、负载、String.Class、params) 最后的URL

  • 我有一个按钮,它正在执行“访问我的页面”并向查询字符串添加筛选器。我的代码将该过滤器应用于网格,但用户可以删除/编辑该过滤器。因为他们可以看到网格中应用了什么过滤器,所以我想在显示页面时从查询字符串中删除。 它可能会混淆,如果在页面上和URL说最初是正确的,但是用户删除了这个过滤器,并在上应用了一个新的过滤器,但是查询字符串仍然是.网格可以处理更改过滤器,而不需要后退。 我该怎么做?如果无法删除/

  • 问题内容: 我使用的框架会不时返回格式错误的字符串,其中包含“空”字符。 例如,“ foobar”表示为:[,f,o,o,b,a,r] 第一个字符不是空格(’‘),因此System.out.printlin()将返回“ foobar”而不是“ foobar”。但是,String的长度是7,而不是6。显然,这使大多数String方法(等于,拆分,子字符串等)变得无用。有没有办法从字符串中删除空字符?