Как удалить кавычки из строки python
Перейти к содержимому

Как удалить кавычки из строки python

  • автор:

Python удаление кавычек

И я все еще получаю тот же результат, кавычки все еще в строке. Кто-нибудь знает, почему это происходит. Это связано с оператором.join?

Поделиться Источник 11 августа 2017 в 22:05

4 ответа

str.replace() в Python не изменяет строку на месте. Это означает, что для того, чтобы что-то произошло, вам нужно присвоить результат переменной.

string1 = "foo" string2 = string1.replace("foo", "bar") print(string1) >>> "foo" print(string2) >>> "bar" 

string1 остается тем же, а string2 имеет измененное значение.

Таким образом, в вашем случае вы хотите:

des = des.replace('"', '') 

Поделиться 11 августа 2017 в 22:09

lists=['"4"','"2"','"3"','"1"'] des=" ".join(value.strip('"') for value in lists) 

Вывод

'4 2 3 1' 

Поделиться 11 августа 2017 в 22:08

Вам нужно иметь переменную или сам des , чтобы сохранить заменяемую строку.

des=des.replace('"', '') 

Поделиться 11 августа 2017 в 22:10

Вам нужно сделать что-то вроде следующего:

lists=['"4"','"2"','"3"','"1"'] des=" ".join(lists) des = des.replace('"', '') print (des) 

Поскольку у вас нет понятия, заменяются ли значения или нет. Вам нужно переназначить, тогда вы получите следующий результат:

4 2 3 1 

Как удалить кавычки из строк в R (3 метода)

Есть три распространенных способа удаления кавычек из строк в R:

Способ 1: Используйте print()

print(some_strings, quote=FALSE) 

Способ 2: Используйте noquote()

noquote(some_strings) 

Способ 3: Используйте кошку()

cat(some_strings) 

В следующих примерах показано, как использовать каждый метод со следующим вектором строк:

#define vector of strings some_strings  

Обратите внимание, что строки по умолчанию печатаются в кавычках.

Пример 1. Удаление кавычек из строк с помощью функции print()

В следующем коде показано, как использовать функцию print() для печати строк с удаленными кавычками:

#print vector of strings without quotes print(some_strings, quote=FALSE) [1] hey these are some strings 

Пример 2. Удаление кавычек из строк с помощью noquote()

В следующем коде показано, как использовать функцию noquote() для печати строк с удаленными кавычками:

#print vector of strings without quotes noquote(some_strings) [1] hey these are some strings 

Пример 3. Удаление кавычек из строк с помощью функции cat()

В следующем коде показано, как использовать функцию cat() для печати строк с удаленными кавычками:

#print vector of strings without quotes cat(some_strings) hey these are some strings 

Вы также можете использовать аргумент \n для печати каждой строки без кавычек на новой строке:

#print vector of strings without quotes each on a new line cat(paste(some_strings, " \n ")) hey these are some strings 

Обратите внимание, что каждая строка в векторе печатается с новой строки.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

Удаление кавычек в списке

При интерпретации показанного вами кода питоновый парсер не оставит в реальных объектах ни одной кавычки, а создаст список из трёх строк, внутри которых будут храниться только unicode-символы цифр и точек без кавычек. Поэтому ваш вопрос в текущем его виде не имеет смысла.

22 окт 2021 в 18:42

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Черточки это одинарные кавычки или апострофы. Ими описываются строковые литералы или просто строки

Лучше их не удалять, а преобразовать в числа, а именно в вещественные:

l = ['0.14', '0.4348', '0.06'] numbers = [float(x) for x in l] print(numbers) 

Или меняем текущий список, заменяя строки на числа:

l = ['0.14', '0.4348', '0.06'] for i in range(len(l)): l[i] = float(l[i]) print(l) 
[0.14, 0.4348, 0.06] 

Python: Кавычки

В этом уроке мы разберемся, что такое строка и какую роль в коде играют кавычки.

Определить строку довольно просто — это некий набор символов. Представим, что у нас есть такие записи:

'Hello' 'Goodbye' 'G' ' ' '' 

Какие из этих вариантов — строки? На самом деле, все пять вариантов подходят:

  • С 'Hello' и 'Goodbye' все очевидно — мы уже работали с подобными конструкциями и называли их строками
  • 'G' и ' ' — тоже строки, просто в них всего по одному символу
  • '' — это пустая строка, потому в ней ноль символов

Строкой мы считаем все, что находится внутри кавычек: даже если это пробел, один символ или вообще отсутствие символов.

Выше мы записывали строки в одинарных кавычках, но это не единственный способ. Можно использовать и двойные:

print("Dracarys!") 

Теперь представьте, что вы хотите напечатать строчку Dragon's mother. Апостроф перед буквой s — это такой же символ, как одинарная кавычка. Попробуем:

print('Dragon's mother') # SyntaxError: invalid syntax 

Такая программа не будет работать. С точки зрения Python строчка началась с одинарной кавычки, а потом закончилась после слова dragon. Дальше были символы s mother без кавычек — значит, это не строка. А потом была одна открывающая строку кавычка, которая так и не закрылась: ') . Этот код содержит синтаксическую ошибку — это видно даже по тому, как подсвечен код.

Чтобы избежать этой ошибки, мы используем двойные кавычки. Такой вариант программы сработает верно:

print("Dragon's mother") 

Теперь интерпретатор знает, что строка началась с двойной кавычки и закончиться должна тоже на двойной кавычке. А одинарная кавычка внутри стала частью строки.

Верно и обратное. Если внутри строки мы хотим использовать двойные кавычки, то саму строку надо делать в одинарных. Причем количество кавычек внутри самой строки неважно.

Теперь представим, что мы хотим создать такую строку:

Dragon's mother said "No" 

В ней есть и одинарные, и двойные кавычки. Нам нужно каким-то образом указать интерпретатору, что кавычки — это один из символов внутри строки, а не начало или конец строки.

Для этого используют символ экранирования: \ — обратный слэш. Если мы поставим \ перед кавычкой (одинарной или двойной), то интерпретатор распознает кавычку как обычный символ внутри строки, а не начало или конец строки:

# Экранируем кавычки вокруг No, чтобы интерпретатор # распознал их как часть строки print("Dragon's mother said \"No\"") # => Dragon's mother said "No" 

Обратите внимание, что в примере выше нам не пришлось экранировать одинарную кавычку (апостроф 's), потому что сама строка создана с двойными кавычками. Если бы строка создавалась с одинарными кавычками, то символ экранирования нужен был бы перед апострофом, но не перед двойными кавычками.

Если нужно вывести сам обратный слеш, то работает такое же правило. Как и любой другой специальный символ, его надо экранировать:

print("\\") # => \ 

Задание

Напишите программу, которая выведет на экран:

"Khal Drogo's favorite word is "athjahakar"" 

Программа должна вывести на экран эту фразу в точности. Обратите внимание на кавычки в начале и в конце фразы:

"Khal Drogo's favorite word is "athjahakar""

Упражнение не проходит проверку — что делать? ��

Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:

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

В моей среде код работает, а здесь нет ��

Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.

Мой код отличается от решения учителя ��

Это нормально ��, в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи.

В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.

Прочитал урок — ничего не понятно ��

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

Кстати, вы тоже можете участвовать в улучшении курсов: внизу есть ссылка на исходный код уроков, который можно править прямо из браузера.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *