Python,在双引号之间的字符串中检测带有引号的字符[关闭]
Posted
技术标签:
【中文标题】Python,在双引号之间的字符串中检测带有引号的字符[关闭]【英文标题】:Python, detect a character with on quote inside a string between double quotes [closed] 【发布时间】:2020-12-16 20:03:36 【问题描述】:我有一个元组的示例如下:
('XXXX','XXXX',"XXXX's Something",'XXXX')
我想把它变成:
('XXXX','XXXX','XXXX''s Something','XXXX')
我尝试这样做的原因是,此输入将被摄取到 Azure SQL 数据库 中,该数据库使用另一个单引号跳过该引号(如上所示)。
如何仅检测双引号之间字符内的单引号?
最好的问候,
【问题讨论】:
将其转换为字符串并使用.replace("\"", "'")
这样简单的工作吗?
如果您在execute
函数中输入带有parameters
的值,则单引号应该没有问题。您似乎尝试手动构建 SQL 字符串。
最外面的引号不是值的一部分。 'XXX'
和 "XXX"
是同一个字符串。您应该能够使用if "'" in item:
来检测字符串是否包含单引号。
【参考方案1】:
您可以使用 tuple()
和生成器表达式进行元组推导。
>>> t = ('XXXX','XXXX',"XXXX's Something",'XXXX')
>>> tuple(s.replace("'", "''") for s in t)
('XXXX', 'XXXX', "XXXX''s Something", 'XXXX')
【讨论】:
以上是关于Python,在双引号之间的字符串中检测带有引号的字符[关闭]的主要内容,如果未能解决你的问题,请参考以下文章