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,在双引号之间的字符串中检测带有引号的字符[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 pandas.read_csv 在双引号之间读取带有千位分隔符的数字 [重复]

如何在双引号中打印字符串? (不打印双引号)

正则表达式在双引号内转义双引号

输入反映在双引号之间的标记参数内是啥意思?

python - 在双引号内添加变量,变量也包含双引号

如何在双引号字符串中使用对象的属性?