我必须将所有的直接引号替换为大括号(“”)。
我使用s.replace将所有的直引号替换为卷曲的引号,但是,它们都在相同的方向上。我不知道在一个单词前如何使一个单引号引起来,而在一个单词的末尾却引起反引号。
例如:'" "o" "i" "'
必须转换为'“ “o” “i” ”'
您可以尝试此操作(text
是您的字符串):
for i in range(text.count('"')/2+1) :
text = text.replace( '"', 'open-quote', 1)
text = text.replace( '"', 'close-quote', 1)
它们都将被替换。
[open-quote
和close-quote
用于易于阅读,请替换为所需的实际引号字符。
您可以使用re
来查找一对引号并将其替换。
>>> s = "\" \"o\" \"i\" \""
>>> s
" "o" "i" "
>>> re.sub(r'(\")(.?)(\")', '“\g<2>”', s)
“ ”o“ ”i“ ”