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

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

Удаление символов новой строки из строк Python происходит часто. Читаем ли мы данные из файла, обрабатываем пользовательский ввод или просто работаем с текстом, важно знать, как обрабатывать и очищать символы новой строки.

В вычислениях символ новой строки (или просто новая строка) представляет собой конец строки текста и начало новой. В строках Python он представлен как ‘\n’. Например:

USA_Capital = "Washington, D.C.\n -Capital of the United States of America"
print(USA_Capital)

Результат:

Washington, D.C.-Capital of the United States of America

Python удалить новую строку из строки

Таким образом, символ новой строки работает в Python.

Однако иногда нам может потребоваться удалить эти символы новой строки для определенных целей в Python.

Методы удаления новой строки из строки в Python

Существует пять различных методов удаления символов новой строки из строки в Python.

  • метод str.replace()
  • методы str.strip() и str.rstrip()
  • методы str.split() и str.join()
  • Список понятий
  • Обычные выражения

Давайте рассмотрим их поочередно на наглядных примерах:

Метод-1: использование метода str.replace() для удаления символа новой строки из строки Python.

Метод Python str.replace() — это универсальный инструмент для замены указанных подстрок другой подстрокой. В нашем контексте мы будем использовать его для замены символов новой строки пробелом или их удаления.

Например, предположим, что мы записали на Python отзыв пользователя о ресторане в Нью-Йорке, и во входных данных есть неожиданные символы новой строки.

review = "The food was amazing.\nThe service was top-notch.\nWill visit again!"
print('with newline character:', review)
after_cleaning = review.replace("\n", " ")
print('without newline character', after_cleaning)

Результат:

with newline character: The food was amazing.
The service was top-notch.
Will visit again!
without newline character The food was amazing. The service was top-notch. Will visit again!

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

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

Метод-2: использование методов str.strip() и str.rstrip() для удаления новых строк из строки.

Метод str.strip() удаляет символы из начала и конца строки. По умолчанию он удаляет пробельные символы (пробелы, символы новой строки и табуляции), если аргументы не указаны. Аналогично, str.rstrip() удаляет символы только из конца строки.

Например: рассмотрим нью-йоркскую газету, собирающую заголовки от репортеров на Python. Если заголовок по ошибке начинается или заканчивается символом новой строки, его необходимо удалить.

headline = "\nBreaking: Major Event in Central Park!\n"
print('with newline character:', headline)
clean_headline = headline.strip('\n')
print('without headline character', clean_headline)

Результат:

with newline character: The food was amazing.
The service was top-notch.
Will visit again!
without newline character The food was amazing. The service was top-notch. Will visit again!

Python удаляет символ новой строки из строки

Примечание. Точно так же мы можем просто написать rstrip вместо полосы и легко удалить \n из строки Python.

Таким образом, мы можем использовать метод strip() или rstirp() в Python для удаления новой строки из строки.

Метод-3: Python удаляет новую строку из строки, используя методы join() и split().

Если мы хотим удалить все символы новой строки и не обязательно заменять их пробелами или любыми другими символами, в Python могут быть полезны функции join() и split().

Комбинацию методов Python split() и join() можно использовать для разделения строки Python на список, где каждый элемент является строкой исходной строки Python, а затем снова объединять эти элементы без символов новой строки.

Например, автор из Техаса пишет книгу, абзацы которой сохранены в строках Python. Чтобы отформатировать содержимое, необходимо удалить все символы новой строки.

paragraph = "It was a bright day in Dallas.\nThe sun was shining, and people were happy.\nLife was good.\n"
print('with newline:', paragraph)
clean_paragraph = ''.join(paragraph.split('\n'))
print('Without newline', clean_paragraph)

Результат:

with newline: It was a bright day in Dallas.
The sun was shining, and people were happy.
Life was good.Without newline It was a bright day in Dallas.The sun was shining, and people were happy.Life was good.

Строка Python удалить новую строку

Таким образом, мы можем удалить новую строку (\n) из строки Python, используя метод разделения и соединения.

Метод 4: удалить символы новой строки из строки Python, используя списковые включения

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

Например, представьте, что у нас есть список названий книг Python из библиотеки в Майами, и мы хотим очистить те из них, в середине которых есть символы новой строки:

titles = ["The Great\nGatsby", "Moby Dick", "To Kill\na Mockingbird"]
print('With newline:', titles)
cleaned_titles = [title.replace('\n', ' ') for title in titles]
print('Without newline:', cleaned_titles)

Результат:

With newline: ['The Great\nGatsby', 'Moby Dick', 'To Kill\na Mockingbird']
Without newline: ['The Great Gatsby', 'Moby Dick', 'To Kill a Mockingbird']

Удалить новую строку из строки Python

Таким образом, мы можем удалить новую строку из строки Python, используя list comprehension.

Метод 5: удалите \n из строки в Python, используя re

Ремодуль в Python — мощный инструмент для манипулирования строками, особенно при работе со сложными шаблонами . Перемодуль Python обеспечивает функции сопоставления с образцом.

Здесь мы будем использовать метод sub() из re-module. sub() — это метод в модуле регулярных выражений Python re, используемый для замены строк. Он заменяет все вхождения указанного шаблона строкой замены.

Например, компания-разработчик программного обеспечения из Майами регистрирует ошибки с временными метками с помощью Python. Для анализа журналов необходимо удалять символы новой строки, но только тогда, когда они появляются сразу после определенного времени, например «16:15\n».

import relog_entry = "Error at 4:15 PM\nSomething went wrong."
clean_log = re.sub(r'(\d{1,2}:\d{2} [APM]{2})\n', r'\1 ', log_entry)
print(clean_log)

Результат:

Error at 4:15 PM Something went wrong.

Удалить n символ из строки Python

Таким образом, мы можем использовать метод re.sub() для удаления символа новой строки из строки Python.

Заключение

В этом руководстве объясняется, как Python предлагает пять различных методов для удаления символов новой строки из строк, таких как list comprehension, регулярное выражение, методы replace(), strip() или rstrip(), а также метод split() или join(). Эти методы гарантируют, что наши текстовые данные останутся чистыми и согласованными. В зависимости от конкретных требований и контекста мы можем выбрать наиболее подходящий метод.