gpt4 book ai didi

python - 如何从 Python 中的字符串中删除换行符和缩进?

转载 作者:行者123 更新时间:2023-12-01 22:40:28 69 4
gpt4 key购买 nike

在我的 Python 脚本中,我有一个 SQL 语句,它会像这样永远持续下去:

query = """
SELECT * FROM
many_many
tables
WHERE
this = that,
a_bunch_of = other_conditions
"""

使它像单行一样阅读的最佳方法是什么?我试过这个:

def formattedQuery(query):
lines = query.split('\n')

for line in lines:
line = line.lstrip()
line = line.rstrip()

return ' '.join(lines)

它确实删除了换行符,但没有删除缩进中的空格。请帮忙!

最佳答案

你可以这样做:

query = " ".join(query.split())

但如果您的 SQL 查询包含带空格或制表符的字符串(例如 select * from users where name = 'Jura X'),它就不会很好地工作。这是使用 string.replace 或正则表达式的其他解决方案的问题。所以你的方法还不错,但你的代码需要修复。

您的函数实际上出了什么问题 - 您返回了原始值,lsplit 和 rsplit 的返回值被放弃了。你可以这样修复它:

def formattedQuery(query):
lines = query.split('\n')
r = []

for line in lines:
line = line.lstrip()
line = line.rstrip()
r.append(line)

return ' '.join(r)

另一种方法:

def formattedQuery(q): return " ".join([s.strip() for s in q.splitlines()])

关于python - 如何从 Python 中的字符串中删除换行符和缩进?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14760337/

69 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com