gpt4 book ai didi

Python:尝试形成 SQL 语句时出现字符串操作问题

转载 作者:行者123 更新时间:2023-12-02 02:13:15 24 4
gpt4 key购买 nike

假设我有以下字符串:

query = '''UPDATE table1 SET 'variable1' = 'value1', 'something' = "['bla', 'yada']", location = 'chicago' WHERE id = 9'''

这是一个字符串,我将使用它作为自定义库的参数来更新 SQLite 表。我需要做的是删除每个等号之前单词周围的单引号(如果该单词确实有单引号)。

期望的输出如下:

query = '''UPDATE table1 SET variable1 = 'value1', something = "['bla', 'yada']", location = 'chicago' WHERE id = 9'''

请注意,单词“variable1”和“something”周围的单引号已被删除。我该如何对此表单中的所有查询执行此操作?

最佳答案

您可以使用正则表达式来替换它们。如果单引号内后跟空格和等号,则正则表达式会捕获单引号内的值,然后仅用值替换引号和值。

import re
query = '''UPDATE table1 SET 'variable1' = 'value1', 'something' = "['bla', 'yada']", location = 'chicago' WHERE id = 9'''

updated_query = re.sub(r"'([^']+)'(?=\s=)", r"\1", query)
print(query)
print(updated_query)

输出

UPDATE table1 SET 'variable1' = 'value1', 'something' = "['bla', 'yada']", location = 'chicago' WHERE id = 9
UPDATE table1 SET variable1 = 'value1', something = "['bla', 'yada']", location = 'chicago' WHERE id = 9

关于Python:尝试形成 SQL 语句时出现字符串操作问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67478358/

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