Python xóa dấu cách kép

Có nhiều cách để thay thế nhiều khoảng trắng bằng một khoảng trắng như sử dụng mô-đun phân tách chuỗi hoặc biểu thức chính quy. Chúng ta sẽ xem từng người trong số họ với các ví dụ

Phương pháp 1. Sử dụng chuỗi tách

  1. Đọc tệp văn bản đầu vào ở chế độ đọc và tệp đầu ra ở chế độ ghi
  2. Đối với mỗi dòng đọc từ sau đó nhập tệp
    1. Tách chuỗi đã cho bằng phương thức split(). Theo mặc định, phương thức split() chia tách với dấu cách là dấu phân cách. Khi có nhiều khoảng trắng, những phần tách đó sẽ bị bỏ qua và do đó chúng ta sẽ nhận được các từ riêng lẻ
    2. Tham gia các phần tách bằng cách sử dụng một dấu cách ‘ ‘
    3. Ghi vào tập tin đầu ra
  3. Đóng tệp đầu vào và đầu ra

Thí dụ

Trong ví dụ sau, chúng tôi sẽ thay thế nhiều khoảng trắng bằng một khoảng trắng

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

tập tin đầu vào

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

tập tin đầu ra

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

Tất cả nhiều khoảng trắng trong tệp văn bản được thay thế bằng một khoảng 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 chính quy để tìm nhiều khoảng trắng liên tục và thay thế chúng bằng một khoảng trắng

  1. Nhập lại mô-đun. re cho biểu thức 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 đọc từ tệp văn bản, hãy sử dụng lại. phương thức phụ(). 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 tệp đầu vào và đầu ra

Thí dụ

Trong ví dụ sau, chúng tôi sẽ thay thế tất cả nhiều khoảng trắng bằng một khoảng trắng duy nhất 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()

Tóm lược

Trong hướng dẫn về Ví dụ Python này, chúng ta đã học cách thay thế nhiều ký tự khoảng trắng bằng một khoảng trắng, sử dụng các cách tiếp cận và chương trình ví dụ khác nhau cho từng ký tự đó

Chúng ta có thể xóa nhiều khoảng trắng khỏi một chuỗi bằng một khoảng trắng bằng cách sử dụng phương thức

Welcome to      www.pythonexamples.org. Here, you will     find python programs              for all        general use cases.
2 trong Python được nhập từ thư viện
Welcome to      www.pythonexamples.org. Here, you will     find python programs              for all        general use cases.
3

Phương thức

Welcome to      www.pythonexamples.org. Here, you will     find python programs              for all        general use cases.
2 chấp nhận ba đối số, đối số đầu tiên là mẫu
Welcome to      www.pythonexamples.org. Here, you will     find python programs              for all        general use cases.
5, đối số thứ hai là
Welcome to      www.pythonexamples.org. Here, you will     find python programs              for all        general use cases.
6 và đối số thứ ba là
Welcome to      www.pythonexamples.org. Here, you will     find python programs              for all        general use cases.
7, bạn cần xóa các khoảng trắng

Dưới đây là một ví dụ xóa khoảng trắng khỏi chuỗi sau

import re

msg = "Hello  Python    World"

removeSpaces = re.sub('\\s+', ' ', msg)

print(s)

đầu ra

Đây là một mô-đun Regex trong Python. Nó có một phương thức sub() và nó được sử dụng để thay thế các chuỗi con trong chuỗi, khớp với một mẫu biểu thức chính quy nhất định. Chúng ta có thể sử dụng tương tự để xóa nhiều khoảng trắng khỏi một chuỗi. Để làm được điều đó, chúng ta cần sử dụng mẫu biểu thức chính quy khớp với một hoặc nhiều khoảng trắng. Sau đó, tìm các chuỗi con khớp với mẫu biểu thức chính quy đã cho và thay thế chúng bằng một khoảng trắng. Hãy xem cú pháp của sub() với các tham số mà chúng ta cần truyền vào để loại bỏ nhiều khoảng trắng

cú pháp

re.sub("\s+", " ", strValue)

Thông số

  1. tham số đầu tiên là một mẫu biểu thức chính quy sẽ tìm kiếm một hoặc nhiều khoảng trắng
  2. tham số thứ hai đại diện cho một khoảng trắng duy nhất
  3. strValue là chuỗi đầu vào thực tế

Nó sẽ trả về một chuỗi trong đó tất cả nhiều khoảng trắng được thay thế bằng một khoảng trắng

ví dụ 1

Trong ví dụ này, chúng tôi sẽ xem xét chuỗi có nhiều khoảng trắng và loại bỏ nhiều khoảng trắng này bằng cách sử dụng lại. phương thức phụ()

import re

# Consider a string with multiple spaces
strValue = "Welcome     to     thisPointer,learn                Python language"

print("Original String: \"", strValue, "\"")

# Remove multiple spaces from string
strValue = re.sub("\s+", " ", strValue)

print("String after removing multiple spaces: \"", strValue, "\"")

đầu ra

Original String: " Welcome     to     thisPointer,learn                Python language "
String after removing multiple spaces: " Welcome to thisPointer,learn Python language "

Bạn có thể thấy rằng nhiều khoảng trắng được loại bỏ giữa

  1. chào mừng và đến
  2. đến và con trỏ này
  3. tìm hiểu và Python

ví dụ 2

Trong ví dụ này, chúng tôi sẽ xem xét chuỗi có một khoảng trắng và loại bỏ nhiều khoảng trắng này bằng cách sử dụng lại. phương thức phụ()

________số 8

đầu ra

Original String: " Hello           Python "
String after removing multiple spaces: " Hello Python "

Bạn có thể thấy rằng nhiều dấu cách đã bị xóa giữa Hello và Python

Xóa nhiều khoảng trắng khỏi chuỗi bằng cách sử dụng phép nối () với phép chia ()

chúng ta có thể tách một chuỗi bằng hàm split() của lớp chuỗi. Theo mặc định, nó sẽ sử dụng ký tự khoảng trắng làm dấu phân cách để chia chuỗi thành nhiều chuỗi con. Sau đó nối tất cả các chuỗi con này với một dấu cách duy nhất làm dấu phân cách bằng cách sử dụng phương thức nối() của lớp chuỗi. Nó sẽ xóa nhiều khoảng trắng khỏi chuỗi

Thí dụ

Trong ví dụ này, chúng tôi có một chuỗi có nhiều khoảng trắng và chúng tôi sẽ xóa nhiều khoảng trắng này khỏi chuỗi bằng cách sử dụng phương thức nối() với split()

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

đầu ra

Original String: " Welcome     to     thisPointer,learn                Python language "
String after removing multiple spaces: " Welcome to thisPointer,learn Python language "

Bạn có thể thấy rằng nhiều khoảng trắng được loại bỏ giữa

  1. chào mừng và đến
  2. đến và con trỏ này
  3. tìm hiểu và Python

Tóm lược

Trong bài viết này, chúng ta đã biết cách xóa nhiều khoảng trắng khỏi một chuỗi trong Python bằng các kỹ thuật khác nhau. Phương pháp tốt nhất là sử dụng split() với join() vì không cần thêm mô-đun để sử dụng phương pháp này. Thanks