Рубрики
Без рубрики

Python – Как заменить несколько пробелов с одним пространством в текстовом файле?

Автор оригинала: Python Examples.

Python – заменить несколько пробелов с одним пространством в текстовом файле

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

Способ 1: с использованием Split String

  1. Прочитайте текстовый файл ввода в режиме «Чтение» и «Выход» в режиме записи.
  2. Для каждой строки читается с того входного файла
    1. Разделите данную строку с помощью метода Split (). По умолчанию SPLIC () метод расщепляется с пространством в виде разделителя. Когда есть несколько пробелов, эти расщепления игнорируются и, следовательно, мы получим отдельные слова.
    2. Присоединяйтесь к разделению с использованием одного пространства Отказ
    3. Запишите в выходной файл.
  3. Закрыть входные и выходные файлы.

Пример

В следующем примере мы заменим несколько пробелов с одним пространством.

Python Program

fin = open("data.txt", "rt")
fout = open("out.txt", "wt")

for line in fin:
	fout.write(' '.join(line.split()))
	
fin.close()
fout.close()

Входной файл

Welcome to      www.pythonexamples.org. Here, you will     find python programs              for all        general use cases.

Выходной файл

Welcome to www.pythonexamples.org. Here, you will find python programs for all general use cases.

Все несколько белых пробелов в текстовом файле заменены одним белым пространством.

Способ 2: Использование регулярного выражения

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

  1. Импорт Re модуль. для регулярного выражения.
  2. Прочитайте текстовый файл ввода в режиме чтения и вывод текстового файла в режиме записи.
  3. Для каждой строки читается из текстового файла, используйте метод re.sub (). Sub () замените или заменяет строку с другой строкой в приведенном тексте.
  4. Закрыть входные и выходные файлы.

Пример

В следующем примере мы заменим все несколько белых пробелов с одним белым пространством с использованием модуля RE.

Python Program

import re

fin = open("data.txt", "rt")
fout = open("out.txt", "wt")

for line in fin:
	fout.write(re.sub('\s+',' ',line))
	
fin.close()
fout.close()

Резюме

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