Hướng dẫn replace extra spaces in python - thay thế khoảng trắng thừa trong python

Một biểu thức thông thường có thể được sử dụng để cung cấp nhiều quyền kiểm soát hơn đối với các ký tự khoảng trắng được kết hợp.

Để phù hợp với khoảng trắng Unicode:

import re

_RE_COMBINE_WHITESPACE = re.compile(r"\s+")

my_str = _RE_COMBINE_WHITESPACE.sub(" ", my_str).strip()

Chỉ phù hợp với khoảng trắng ASCII:

import re

_RE_COMBINE_WHITESPACE = re.compile(r"(?a:\s+)")
_RE_STRIP_WHITESPACE = re.compile(r"(?a:^\s+|\s+$)")

my_str = _RE_COMBINE_WHITESPACE.sub(" ", my_str)
my_str = _RE_STRIP_WHITESPACE.sub("", my_str)

Chỉ phù hợp với khoảng trắng ASCII đôi khi rất cần thiết để giữ các ký tự điều khiển như X0B, X0C, X1C, X1D, X1E, X1F.

Reference:

Về

import re

_RE_COMBINE_WHITESPACE = re.compile(r"(?a:\s+)")
_RE_STRIP_WHITESPACE = re.compile(r"(?a:^\s+|\s+$)")

my_str = _RE_COMBINE_WHITESPACE.sub(" ", my_str)
my_str = _RE_STRIP_WHITESPACE.sub("", my_str)
1:

Đối với các mẫu unicode (str): khớp các ký tự khoảng trắng unicode (bao gồm [\ t \ n \ r \ f \ v], và cũng có nhiều ký tự khác, ví dụ như các không gian không phá vỡ được ủy quyền bởi các quy tắc kiểu chữ bằng nhiều ngôn ngữ). Nếu cờ ASCII được sử dụng, chỉ [\ t \ n \ r \ f \ v] được khớp.

Về

import re

_RE_COMBINE_WHITESPACE = re.compile(r"(?a:\s+)")
_RE_STRIP_WHITESPACE = re.compile(r"(?a:^\s+|\s+$)")

my_str = _RE_COMBINE_WHITESPACE.sub(" ", my_str)
my_str = _RE_STRIP_WHITESPACE.sub("", my_str)
2:

Tạo \ w, \ w, \ b, \ b, \ d, \ d, \ s và \ s phù hợp với ASCII-chỉ thay vì khớp unicode đầy đủ. Điều này chỉ có ý nghĩa đối với các mẫu Unicode và bị bỏ qua cho các mẫu byte. Tương ứng với cờ nội tuyến (? A).

import re

_RE_COMBINE_WHITESPACE = re.compile(r"(?a:\s+)")
_RE_STRIP_WHITESPACE = re.compile(r"(?a:^\s+|\s+$)")

my_str = _RE_COMBINE_WHITESPACE.sub(" ", my_str)
my_str = _RE_STRIP_WHITESPACE.sub("", my_str)
3 sẽ từ xa bất kỳ không gian trắng hàng đầu và dấu vết.

Nội dung

  • Giới thiệu
  • Mã mẫu
  • Phương pháp 2: Sử dụng biểu thức chính quy
  • Bản tóm tắt

Trong hướng dẫn này về các ví dụ Python, chúng tôi đã học cách thay thế nhiều ký tự không gian trắng bằng một không gian duy nhất, sử dụng các phương pháp tiếp cận và chương trình ví dụ khác nhau cho mỗi người trong số chúng.

Mã mẫu

  1. Ví dụ 1: Thay thế nhiều không gian trắng liên tục bằng không gian đơn lẻ
  2. Ví dụ 2: Thay thế nhiều không gian trắng liên tục, chứa \ n, \ t, v.v.
    1. Để thay thế nhiều không gian trắng bằng không gian đơn, bạn có thể thực hiện quy trình sau.
    2. chia () chuỗi với dấu phân cách mặc định‘ ‘.
    3. sau đó sử dụng Jop () với một không gian duy nhất
  3. Đóng các tập tin đầu vào và đầu ra.

Thí dụ

Trong ví dụ sau, chúng tôi sẽ thay thế tất cả nhiều không gian trắng bằng không gian trắng bằng mô -đun RE.

Chương trình Python

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

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

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()

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

Bản tóm tắt

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

Tất cả nhiều không gian trắng trong tệp văn bản được thay thế bằng một không gian trắng duy nhất.

Phương pháp 2: Sử dụng biểu thức chính quy

Bạn cũng có thể sử dụng biểu thức thông thường để tìm nhiều không gian trắng liên tục và thay thế chúng bằng một không gian duy nhất.

  1. Nhập mô -đun lại. Re cho biểu hiện chính quy.
  2. Đọc tệp văn bản đầu vào ở chế độ đọc và tệp văn bản đầu ra ở chế độ ghi.
  3. Đối với mỗi dòng đọc từ tệp văn bản, sử dụng phương thức re.sub (). Sub () thay thế hoặc thay thế một chuỗi bằng một chuỗi khác trong văn bản được cung cấp.
  4. Đóng các tập tin đầu vào và đầu ra.

Thí dụ

Trong ví dụ sau, chúng tôi sẽ thay thế tất cả nhiều không gian trắng bằng không gian trắng bằng mô -đun RE.

Chương trình Python

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()

Bản tóm tắt

Trong hướng dẫn này về các ví dụ Python, chúng tôi đã học cách thay thế nhiều ký tự không gian trắng bằng một không gian duy nhất, sử dụng các phương pháp tiếp cận và chương trình ví dụ khác nhau cho mỗi người trong số chúng.

Tất cả các ký tự không gian trắng liền kề, bao gồm các ký tự như New Line, New Tab, v.v., được thay thế bằng một không gian duy nhất. Cuộc biểu tình tương tự nên giữ cho các ký tự không gian trắng khác như phí dòng, không gian mỏng, v.v.

  • Bản tóm tắt
  • Trong hướng dẫn này về các ví dụ Python, chúng tôi đã học cách thay thế nhiều ký tự màu trắng bằng một không gian duy nhất, sử dụng các hàm Split () và tham gia ().
  • Ví dụ 1: Thay thế nhiều không gian trắng liên tục bằng không gian đơn lẻ
  • Ví dụ 2: Thay thế nhiều không gian trắng liên tục, chứa \ n, \ t, v.v.
  • Ví dụ 2: Thay thế nhiều không gian trắng liên tục, chứa \ n, \ t, v.v.

Trong ví dụ sau, chúng tôi sẽ lấy một chuỗi có nhiều không gian trắng bao gồm các ký tự không gian trắng như New Line, New Tab, v.v. Chúng tôi sẽ áp dụng các bước được đề cập trong phần giới thiệu và quan sát kết quả.

  1. Tất cả các ký tự không gian trắng liền kề, bao gồm các ký tự như New Line, New Tab, v.v., được thay thế bằng một không gian duy nhất. Cuộc biểu tình tương tự nên giữ cho các ký tự không gian trắng khác như phí dòng, không gian mỏng, v.v. the string with default separator
  2. Bản tóm tắtjoin() with a single space

Trong hướng dẫn này về các ví dụ Python, chúng tôi đã học cách thay thế nhiều ký tự màu trắng bằng một không gian duy nhất, sử dụng các hàm Split () và tham gia ().

Trong hướng dẫn này về các ví dụ Python, chúng tôi đã học cách thay thế nhiều ký tự màu trắng bằng một không gian duy nhất, sử dụng các hàm Split () và tham gia ().

Sau đây là một đoạn mã nhanh để thay thế nhiều khoảng trống bằng một không gian.

" ".join(mystring.split())

nơi MyString chứa nhiều không gian trắng liên tục.mystring contains continuous multiple white spaces.

Theo mặc định, hàm chia () chia chuỗi với không gian dưới dạng DELIMITER. Khi chúng ta nhận được tất cả các khối, sau đó chúng ta có thể tham gia lại với một không gian duy nhất. Chuỗi kết quả là những gì chúng ta mong muốn, không có nhiều không gian liền kề.

Ví dụ 1: Thay thế nhiều không gian trắng liên tục bằng không gian đơn lẻ

Trong ví dụ sau, chúng ta sẽ lấy một chuỗi có nhiều không gian trắng xảy ra liên tục ở một số nơi. Và sau đó chúng tôi sẽ sử dụng các hàm split () và tham gia ().split() and join() functions.

Chương trình Python

mystring = 'welcome    to  python        examples'

correctedstring = " ".join(mystring.split())
print(correctedstring)

Chạy

Đầu ra

welcome to python examples

Ngay cả khi có bất kỳ không gian dẫn đầu hoặc dấu vết trong chuỗi, chúng sẽ được cắt ra trong khi tách chuỗi.

Ví dụ 2: Thay thế nhiều không gian trắng liên tục, chứa \ n, \ t, v.v.

Trong ví dụ sau, chúng tôi sẽ lấy một chuỗi có nhiều không gian trắng bao gồm các ký tự không gian trắng như New Line, New Tab, v.v. Chúng tôi sẽ áp dụng các bước được đề cập trong phần giới thiệu và quan sát kết quả.

Chương trình Python

mystring = 'welcome \t\t   to  python  \n\n      examples'

correctedstring = " ".join(mystring.split())
print(correctedstring)

Chạy

Đầu ra

welcome to python examples

Ngay cả khi có bất kỳ không gian dẫn đầu hoặc dấu vết trong chuỗi, chúng sẽ được cắt ra trong khi tách chuỗi.

Ví dụ 2: Thay thế nhiều không gian trắng liên tục, chứa \ n, \ t, v.v.

Trong ví dụ sau, chúng tôi sẽ lấy một chuỗi có nhiều không gian trắng bao gồm các ký tự không gian trắng như New Line, New Tab, v.v. Chúng tôi sẽ áp dụng các bước được đề cập trong phần giới thiệu và quan sát kết quả.