>>> text = 'rjg[]u[ur"fur[ufrng[]"gre[e]"abc[d"ef]"'
>>> '\"'.join([substr.replace('[', '#').replace(']', '#') if n % 2 == 1 else substr for n, substr in enumerate(text.split('\"')[:-1])]+[text.split('\"')[-1]])
rjg[]u[ur"fur#ufrng##"gre[e]"abc#d"ef]"
import re
text = 'rjg[]u[ur"fur[ufrng[]"gree'
text = re.sub(r'(")([^"]+)(")', lambda pat: pat.group(1)+pat.group(2).replace(']', '#').replace('[', '#')+pat.group(3), text)
print text
没有正则表达式的一行程序。尽管你的解决方案非常好。你知道吗
这仍然适用于引号数目不均匀以及引号在开头或结尾的情况。你知道吗
我会努力的
一次性解决方案:
输出:
相关问题 更多 >
编程相关推荐