Python正则表达式替换多空格为指定字符,保留单个空格
解决连续空格替换为分号且保留单个空格的问题
你之前用';'.join(headers.split())的问题在于,split()会将所有空白字符(包括单个空格)作为分隔符分割字符串,导致最终所有空格都被替换成分号。要实现仅替换两个及以上连续空格为分号,单个空格保留的需求,使用正则表达式的re.sub()方法是最优解。
实现代码
import re # 示例文本 original_text = "142526 0x8520003 2 2022-10-20 The interface status changes. (ifName=Gig." # 替换两个及以上连续空格为分号 processed_text = re.sub(r'\s{2,}', ';', original_text) print(processed_text)
代码说明
- 正则表达式
\s{2,}:匹配两个或更多的空白字符(包括空格、制表符等);如果只想严格匹配空格,可改为{2,}(引号内为空格加{2,})。 re.sub()函数会将所有匹配到的连续空白替换为分号,单个空格不受影响。
输出结果
142526;0x8520003;2;2022-10-20 The interface status changes. (ifName=Gig.
内容的提问来源于stack exchange,提问作者crist_9
相关产品推荐
相关产品推荐

