我需要这样做:
text = re.sub(r'\]\n', r']', text)
但是使用find
andreplace
作为变量:
find = '\]\n'
replace = ']'
text = re.sub(find, replace, text)
我应该把r
(生的)放在哪里?它不是一个字符串。
r''
是字符串文字语法的一部分:
find = r'\]\n'
replace = r']'
text = re.sub(find, replace, text)
语法绝不是特定于re
模块的。但是,指定正则表达式是原始字符串的主要用例之一。
简短的回答:你应该把它r
和字符串放在一起。
r
前缀是字符串语法的一部分。使用r
,Python 不会解释引号内的反斜杠序列,例如\n
,等。\t
如果没有r
,您必须键入每个反斜杠两次才能将其传递给re.sub
.
r'\]\n'
和
'\\]\\n'
是写相同字符串的两种方法。
保持r'...'
find = r'\]\n'
replace = r']'
text = re.sub(find, replace, text)
或与
find = '\\]\\n'
replace = ']'
text = re.sub(find, replace, text)