Python как исправить синтаксическую ошибку во время выполнения - PullRequest
0 голосов
/ 13 октября 2019

Если я получаю строку ниже с синтаксической ошибкой от базы данных noSQL, которая хранит ее в этом точном формате, как я могу назначить ее переменной и «исправить» синтаксическую ошибку во время выполнения. С предположениями, что я не могу изменить способ хранения в базе данных.

Так как это синтаксическая ошибка, я даже не могу использовать строковые функции, такие как replace или regex, чтобы удалить лишние кавычки, содержащие номер телефона.

string = "John Doe" (123) 456-7890 ""

Желаемый конечный результат - не синтаксическая ошибка и компиляция. Буду признателен за любую помощь, которую я могу получить. Спасибо.

Ответы [ 2 ]

2 голосов
/ 13 октября 2019

Это строковое присваивание действительно выдает SyntaxError, если выполняется как часть вашего кода, но это не ошибка для этой строки, которую нужно прочитать из базы данных.

В этом случае она работает так же, как если быу вас есть строка в одинарных кавычках:

string = 'John Doe "(123) 456-7890"'
0 голосов
/ 13 октября 2019

Работает, если экранировать внутренние кавычки с помощью '\' или заключить строку в одинарные кавычки.

string_param = 'John Doe "(123) 456-7890"'.replace('"', '')

если это многострочная строка, вы можете использовать это -

string_param = """
'John Doe "(123) 456-7890"'.replace('"', '')
""".replace('"', '')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...