如果我从下面的字符串中收到了一个语法错误的字符串,该字符串以正确的格式存储在noSQL数据库中,那么如何在运行时将其分配给变量并“纠正”语法错误。假设我无法更改它在数据库中的存储方式。
由于这是一个语法错误,我什至不能使用replace或regex之类的字符串函数来删除包含电话号码的多余引号。
string =“ John Doe”(123)456-7890“”
期望的最终结果是它不会引发语法错误并进行编译。 我将不胜感激。谢谢。
答案 0 :(得分:2)
如果作为代码的一部分执行该字符串分配,则确实会抛出一个SyntaxError
,但是从数据库中读取该字符串并不是错误。
在这种情况下,它的作用就像您用单引号将字符串引起来一样:
string = 'John Doe "(123) 456-7890"'
答案 1 :(得分:0)
如果您将内部引号转义为'\'或将字符串括在单引号中,则它可以工作。
string_param = 'John Doe "(123) 456-7890"'.replace('"', '')
如果是多行字符串,则可以使用它-
string_param = """
'John Doe "(123) 456-7890"'.replace('"', '')
""".replace('"', '')