评估从用户到逗号分隔的单词字符串的字符串

时间:2010-11-30 02:53:51

标签: python regex

假设我有一个由用户以下列形式给出的字符串:

"single, single, double word, single  word, also      single"

如何解析此字符串以获取逗号分隔的单词字符串,其中每个单独的空格都被视为分隔符并替换为',',每个单词都替换为%20?结果将是:

"single,single,double%20word,single,word,also,single" 

?我可以一步到位吗?

2 个答案:

答案 0 :(得分:1)

这就是你所要求的:

def repl(m):
  if m.group(0) == ' ':
    return '%20'
  else:
    return ','

re.sub(',? +', repl, "single, single, double word, single  word, also      single")

但是,如果您的目标是最终使用正确的URL转义,我建议您实际使用专门设计的库函数。例如:urllib.quote

答案 1 :(得分:0)

你可能只需一步就可以完成,但两个人做得更安全 首先使用正则表达式将\s\s+替换为,
然后将\s替换为%20