【问题标题】:How to replace URL encoding with nothing or space using .replace or regex [duplicate]如何使用 .replace 或正则表达式将 URL 编码替换为空或空格 [重复]
【发布时间】:2020-08-17 09:42:39
【问题描述】:
  • 我的 UI 正在发送 %20 空间

  • 我需要用空格替换 %20

  • 传入的数据可以是字符串或列表

以下是需要满足的条件

我的输入是输入假设我的搜索栏正在搜索以下模式

ABC,%20CDE 预计出ABC,CDE

ABC%20CDE 预计出ABC CDE

ABC%20%20%20CDE 预计出ABC CDE

[ABC,%20CDE] 预计出[ABC,CDE]

ABC,%20%20%20 预计出ABC

[ABC,%20%20%20] 预计出[ABC]

[,%20%20%20CDE] 预计出[CDE]

,%20%20%20CDE 预计出CDE

我的代码只满足一个条件

string.replace('%20',' ')

我正在使用替换进行搜索。如果不是正则表达式也会有所帮助

【问题讨论】:

  • text.replace('%20', ' ').strip().strip(',')
  • @WiktorStribiżew s = ',%20%20%20CDE'; s.replace('%20', ' ').strip() o/p ', CDE' E0 'CDE'
  • text.replace('%20', ' ').strip(", ") - rextester.com/CZKU92290
  • 你能描述一下预期结果的算法吗?有一个 URL 解码。但是删除空格和, 的额外步骤呢?

标签: python string list


【解决方案1】:

使用来自urlib.parseunquote

from urllib.parse import unquote


unquote("ABC,%20CDE")       # 'ABC, CDE'
unquote("[ABC,%20CDE]")     # '[ABC, CDE]'
unquote("ABC%20CDE")        # 'ABC CDE'
unquote("ABC%20%20%20CDE")  # 'ABC   CDE'
unquote(",%20%20%20CDE")    # ',   CDE'

那么你可以使用replace来替换多余的空格。

文档:https://docs.python.org/3/library/urllib.parse.html

【讨论】:

  • unquote(",%20%20%20CDE") 预期为 'CDE'
猜你喜欢
  • 1970-01-01
  • 2013-09-21
  • 2021-12-18
  • 2015-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-02
  • 2012-12-06
相关资源
最近更新 更多