2010-11-30 40 views
1

比方说,我有以下形式由用户给出的字符串:评估字符串从用户到逗号分隔的单词串

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

我如何解析这个字符串来获得逗号分隔的单词,每个不串单个空格被视为分隔符,并替换为',',并且每个单词都替换为%20?因此,结果将是:

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

?我可以一步做到吗?

回答

1

更换\s这确实你问:

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

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

然而,如果你的目标是正确的URL转义我”结束了d建议你实际使用一个库函数。例如:urllib.quote

+0

不幸的是它必须以这种特定的形式 – 2010-11-30 03:10:13

0

你可能可以在一个步骤中完成,但在两个步骤中完成会更安全。
首先使用正则表达式与,
更换\s\s+然后用%20

+0

好点,错过了一个。这应该首先完成,用`\ s +,\ s +` – 2010-11-30 03:03:07