正则表达式忽略空间unicode(%20)

时间:2012-10-09 15:00:25

标签: java regex

我试图忽略句子中的unicode字符(空格),任何帮助都将受到高度赞赏。

示例 -

utmctr=google%20search%20keyword

期望的输出 -

google search keyword

我正在尝试使用\p{Z}来做这件事,但无济于事。

非常感谢

2 个答案:

答案 0 :(得分:2)

所以你想做2次替换:删除前导标识符utmctr=并替换%20,所以你需要2个步骤:

  1. 搜索:"utmctr=";替换:""
  2. 搜索:%20;替换:" "
  3. 根据您使用的语言(例如Perl),您不需要双引号。

    编辑:因为你正在使用Java:

    String input = "utmctr=google%20search%20keyword"; 
    String output = input.replaceAll("utmctr=", "").replaceAll("%20", " ");
    

    replaceAll()使用正则表达式,但在你的情况下,你真的不需要为正则表达式使用特殊字符。

答案 1 :(得分:0)

您只想删除字符串中的%20并将其替换为空格,对吗?然后使用(%20)作为正则表达式应该在使用全局替换选项(g)时执行此操作,并将其替换为空格。