Удалите все разрывы строк из длинной строки текста

В принципе, я прошу пользователя ввести строку текста в консоль, но строка очень длинная и включает в себя много разрывов строк. Как я могу взять строку пользователя и удалить все разрывы строк, чтобы сделать ее одной строкой текста. Мой метод для получения строки очень прост.

string = raw_input("Please enter string: ") 

Есть ли другой способ захватить строку у пользователя? Я запускаю Python 2.7.4 на Mac.

PS Ясно, что я нооб, поэтому, даже если решение не является наиболее эффективным, будет оценено тот, который использует самый простой синтаксис.

  • Как защитить повторно опечатки при настройке значения для членов класса?
  • Создайте конфигурацию PyCharm, которая запускает модуль a la "python -m foo"
  • Почему dict имеет худший случай O (n) для стольких операций?
  • Коды ошибок Python
  • Проблемы с аргументами
  • Проблемы с Jinja2: TemplateNotFound: index.html
  • python получает список значений из списка dict
  • Как отсортировать словарь с ключами в виде строки чисел в Python
  • 5 Solutions collect form web for “Удалите все разрывы строк из длинной строки текста”

    Как вводить разрывы строк с помощью raw_input ? Но, как только у вас есть строка с некоторыми персонажами, в которой вы хотите избавиться, просто replace их.

     >>> mystr = raw_input('please enter string: ') please enter string: hello world, how do i enter line breaks? >>> # pressing enter didn't work... ... >>> mystr 'hello world, how do i enter line breaks?' >>> mystr.replace(' ', '') 'helloworld,howdoienterlinebreaks?' >>> 

    В приведенном выше примере я заменил все пробелы. Строка '\n' представляет символы новой строки. И \r представляет возврат каретки (если вы находитесь в окнах, вы можете получить их, а вторая replace будет обрабатывать их для вас!).

    в основном:

     # you probably want to use a space ' ' to replace `\n` mystring = mystring.replace('\n', ' ').replace('\r', '') 

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

    Вы можете попробовать использовать замену строки:

     string = string.replace('\r', '').replace('\n', '') 

    обновлено на Xbello комментария Xbello :

     string = my_string.rstrip('\r\n') 

    подробнее здесь

    Вы можете разделить строку без разделителя arg, который будет обрабатывать последовательные пробелы как один разделитель (включая новые строки и вкладки). Затем присоединитесь к пробелу:

     In : " ".join("\n\nsome text \r\n with multiple whitespace".split()) Out: 'some text with multiple whitespace' 

    https://docs.python.org/2/library/stdtypes.html#str.split

    Метод, учитывающий

    • дополнительные белые символы в начале / конце строки
    • дополнительные белые символы в начале / конце каждой строки
    • различные конечные символы

    он принимает такую ​​многострочную строку, которая может быть беспорядочной, например

     test_str = '\nhej ho \n aaa\r\na\n ' 

    и создает приятную однострочную строку

     >>> ' '.join([line.strip() for line in test_str.strip().splitlines()]) 'hej ho aaa a' 
    Python - лучший язык программирования в мире.