You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中使用strip('\n')无法移除字符串换行符的问题

问题分析与解决:移除字符串换行符无效

你踩了两个关键坑:

  • strip()只处理首尾字符
    strip('\n')仅会移除字符串开头和结尾的换行符,对你字符串中间的那些换行完全不起作用——这就是换行仍存在的核心原因。

  • 未接收字符串方法的返回值
    Python中的字符串是不可变对象,strip()、replace()这类方法都会返回一个新的字符串,你只调用了方法但没把结果重新赋值给jsonata_expr,原变量根本没发生变化。

正确的处理方式:

如果要移除所有换行符,直接用replace()方法:

jsonata_expr = r'''{
    "ips": *.*.ip_addr,
    "vlans": $join(vlans.($string(vlan_id)), ","),
    "date": $now()
}'''

# 替换所有换行符为空字符串,同时重新赋值给变量
jsonata_expr = jsonata_expr.replace('\n', '')
print(jsonata_expr)

执行后输出:

{"ips": *.*.ip_addr,    "vlans": $join(vlans.($string(vlan_id)), ","),    "date": $now()}

如果想同时去掉多余的缩进空格,让结果更紧凑,可以用正则表达式:

import re

jsonata_expr = re.sub(r'\s+', ' ', jsonata_expr).strip()
print(jsonata_expr)

执行后输出:

{"ips": *.*.ip_addr, "vlans": $join(vlans.($string(vlan_id)), ","), "date": $now()}

内容的提问来源于stack exchange,提问作者felix001

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 07:45:19