回到这个例子,
Having trouble dealing with similar characters to print different things using regex in Python
我想知道如何反转我所做的正则表达式替换并只打印出原始文本?
也就是说,如果我有
text = "This is my first regex python example yahooa yahoouuee bbbiirdd"
作为我的原始文本,那么它的输出将是:
re.sub text = "tookhookisook isook mookyook fookirooksooktook pookyooktookhookonook..."
然后我希望将该输出转换回原始文本。
我该怎么做?
最佳答案
Python 字符串是不可变的。您没有更改 原始字符串,只是创建了一个新字符串。只保留对原件的引用。
编辑
不可变是指它们的实际值一旦创建就被卡住。
>>> s = "abc"
>>> s[0]
'a'
>>> s[1] = 'd'
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
s[1] = 'd'
TypeError: 'str' object does not support item assignment
>>>
在上面的示例中,我可以让变量 s
引用另一个对象,但我分配给它的字符串是常量。因此,当您执行 s.replace()
时,结果是一个新 字符串,并且原始字符串没有变化。
>>> s.replace ('a', 'd')
'dbc'
>>> s
'abc'
>>>
关于python - 如何反转正则表达式替换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15188534/