python replace 将连续的多个换行符只保留一个换行符 怎么无效,sub 却可以?

python replace 将连续的多个换行符只保留一个换行符 怎么无效,sub 却可以?

'\n\n'.replace(r'\n+','')

# '\n\n'

# 无效

import re

re.sub('\n+','','\n\n')

# ''

# 有效


回答:

因为 replace 的第一个参数就是只能是个字符串,你把正则的写法传进去 python 还是把它当普通字符串。

>>> '\\n+'.replace(r'\n+','')

''


回答:

因为字符串的 replace 方法第一个parameter是python自己的 str 类型,不是 re 中的Pattern对象,更不是一个类似正则的字符串。

str.replace(old, new[, count])
Return a copy of the string with all occurrences of substringold replaced by new. If the optional argument count is given, only the first count occurrences are replaced.

以上是 python replace 将连续的多个换行符只保留一个换行符 怎么无效,sub 却可以? 的全部内容, 来源链接: utcz.com/p/938740.html

回到顶部