Найти - Пользователи
Полная версия: Удаление служебных символов из строки
Начало » Python для новичков » Удаление служебных символов из строки
1
Red_baron
Здравствуйте.
Столкнулся с такой проблемой:

Как мне очистить строки от служебных символов (перевод строки, перевод каретки)?
Есть метод strip(), кое-где написано, что он удаляет не только пробелы в начале и конце строки но и служебные символы.

Считываю строки из файла
input = open("myfile.txt", "r",  encoding="utf-8")
arr1 = input.readlines()
input.close()

Пробовал вот так - удаляет только пробелы:
arr1[0].strip()
reclosedev
with open("myfile.txt", "r",  encoding="utf-8") as input:
    arr1 = input.read().splitlines()
fata1ex
>>> s = 'asdadsadas\n'
>>> s.strip()
'asdadsadas'
>>> s = 'asdadsadas\r'
>>> s.strip()
'asdadsadas'
ЧЯДНТ?
Red_baron
reclosedev
with open(“myfile.txt”, “r”, encoding=“utf-8”) as input:
arr1 = input.read().splitlines()
Спасибо заработало.

fata1ex
ЧЯДНТ?
Попробуйте так
s = ["strgfhfg\n",  "dfghdfhdf"]
s[0].strip()
print(s)

Никуда \n не девается. Поэтому, когда я передаю такую строку с \n комбобоксу получается текст выбранного пункта из двух строк, причем последняя пустая.
reclosedev
Red_baron
Попробуйте так
Строки в Python - неизменяемые.
s[0] = s[0].strip()
Red_baron
К сожалению я думал, что метод strip делает присваивание нового значения автоматически.
Еще раз спасибо. Решил использовать Ваш вариант из второго сообщения.
py.user.next
reclosedev, input() перекрыл
Red_baron, более точное s.rstrip('\r\n')
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB