Как удалить кавычки из строки в Python
Мы часто сталкиваемся с маленькими проблемами, которые оказываются большими. Во время кодирования небольшие задачи иногда становятся утомительными, если их плохо обрабатывать. Одной из таких задач является форматирование вывода, при котором нам требуется удалить кавычки из строки в Python. Давайте обсудим некоторые способы, которыми мы можем удалить кавычки из строки в python.
Прежде чем мы научимся удалять кавычки из строк, давайте рассмотрим, как использовать кавычки из строки в Python, а также способы и синтаксисы для этого.
Строки в Python
Строки в Python-это в основном слова, которые мы помещаем между двумя кавычками ”или ” “. Существует два способа представления этих строк:
- Одинарная цитата [‘ ‘]
- Двойные кавычки [” “]
Если нам нужно написать “Сегодня понедельник”, мы не можем написать его с помощью одинарных кавычек, так как компилятор прочитает цитату после нее как конечную цитату и покажет ошибку, так как последняя цитата не будет иметь начальной, что сделает цитаты несбалансированными. Итак, в таких обстоятельствах мы используем метод двойных кавычек.
Когда дело доходит до выбора метода, это полностью зависит от программиста к программисту. Как правило, использование двойных кавычек для строкового представления и одинарных кавычек используется для регулярных выражений, предпочтительны ключи dict или SQL. Следовательно, как одинарные, так и двойные кавычки изображают строку в python, но иногда нам нужно использовать один тип поверх другого.
Replace the single quote (') character from a string
I need to strip the character «‘» from a string in python. How do I do this?
I know there is a simple answer. Really what I am looking for is how to write ‘ in my code. for example \n = newline.
5 Answers 5
As for how to represent a single apostrophe as a string in Python, you can simply surround it with double quotes ( «‘» ) or you can escape it inside single quotes ( ‘\» ).
To remove apostrophes from a string, a simple approach is to just replace the apostrophe character with an empty string:
Here are a few ways of removing a single ‘ from a string in python.
replace is usually used to return a string with all the instances of the substring replaced.
To remove characters you can pass the first argument to the funstion with all the substrings to be removed as second.
You will have to use str.maketrans
Regular Expressions using re are even more powerful (but slow) and can be used to replace characters that match a particular regex rather than a substring.
There are a few other ways that can be used but are not at all recommended. (Just to learn new ways). Here we have the given string as a variable string .
Another final method can be used also (Again not recommended — works only if there is only one occurrence )
import re
Ну и далее по обстоятелствам. http://docs.python.org в помощь.
надо убрать кавычки только в начале/конце строки или вообще? Если в начале/конце то можно так
С iter expression:
Самые кошерные варианты,имхо, strip() и слайсы([1:-1])
Если идти таким извращённым путём, то самый адекватный вариант это не map и list comprehension, а filter
Самые кошерные варианты,имхо, strip() и слайсы([1:-1])
Естественно:) Хотя если задача похожа, но усложнена, то filter может пригодиться.
>Хотя если задача похожа, но усложнена, то filter может пригодиться.
Я таки ошибся, map и list comprehension будут удобнее, чем filter, если внутри обрабатывающей функции висит сложная логика (например не просто заменить символ, а как-нибудь хитро). В этом случае filter ограничивает тем, что не выводит False. А другие варианты выводят всё.
//Какой же ерундой я занят.
Скобки можно опустить — замечательный добряк от Гвидо, как он на это сподобился, непонятно.
В Python, как удалить различные нежелательные кавычки в строке для создания / преобразования в словарь
Я хотел бы заменить двойные двойные кавычки одинарными двойными кавычками («) и удалить начальную и конечную двойные кавычки, чтобы закончить словарь.
Пока что у меня есть что-то вроде этого, и это не совсем то, что я хочу.
Это пока дает ValueError: malformed string
Я хочу, чтобы конечный результат был:
задан 06 марта ’12, 19:03
это звучит так, как будто вы хотите использовать eval — поскольку у вас есть нежелательные «» данные в ваших данных, вы, вероятно, не имеете достаточного контроля над данными, и это было бы огромной угрозой безопасности 🙁 — Aprillion
.strip() может удалять символы только из строки, первая и последняя кавычки не являются частью строкового литерала . — Aprillion
3 ответы
Проблема в том, что двойные кавычки на самом деле интерпретируются Python, но не так, как вы ожидали:
Это связано с тем, что в Python, как и в C, несколько следующих друг за другом строковых литералов интерпретируются как одна большая строка, поэтому «abc»»def» == «abcdef» .
Если вы определите testdata правильно, ваше решение работает:
Или, если первая и последняя кавычки на самом деле являются частью строки:
ответ дан 06 мар ’12, в 21:03
@Wayne Werner, не волнуйтесь, он обошел меня на 14 минут 😉 — Tomasz
Ах. Спасибо. Я совершенно не понял интерпретацию Python. Это объясняет многие мои проблемы . 🙂 — ктфлгм