[英]Replace string with same amount of white spaces in search pattern
我想在我的字符串中保留相同数量的空白,但用空字符串替换'no'。 这是我的代码:
>>> import re
>>> line = ' no command'
>>> line = re.sub('^\s.+no','',line)
>>> line
' command'
预期的 output 没有仅用空字符串替换 'no' 并且保留空格的数量:
' command'
我想你想要一个积极的看法。 它并没有完全按照您的代码在行首查找匹配项所做的工作,但希望这能让您走上正确的轨道。
>>> line = ' no command'
>>> re.sub('(?<=\s)no','',line)
' command'
您还可以捕获前面的文本。
>>> re.sub('^(\s.+)no', r'\1', line)
' command'
使用.+
匹配任何字符,所以如果你只想匹配 1 个或多个空格字符,你应该重复\s+
。
然后在第 1 组中捕获它以便能够在替换中使用它并匹配no
后跟单词边界。
请注意, \s
也可以匹配换行符。
import re
line = ' no command'
line = re.sub(r'^(\s+)no\b', r'\1', line)
print(line)
Output
command
使用字符串 class 的替换方法怎么样?
new_line = line.replace("no", "")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.