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
- Đọc tệp văn bản đầu vào ở chế độ đọc và tệp đầu ra ở chế độ ghi
- Đối với mỗi dòng đọc từ sau đó nhập tệp
- 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ẻ
- Tham gia các phần tách bằng cách sử dụng một dấu cách ‘ ‘
- Ghi vào tập tin đầu ra
- Đó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
- Nhập lại mô-đun. re cho biểu thức chính quy
- Đọc tệp Văn bản đầu vào ở chế độ đọc và tệp Văn bản đầu ra ở chế độ ghi
- Đố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
- Đó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.
3Phươ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ắngDướ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ố
- 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
- tham số thứ hai đại diện cho một khoảng trắng duy nhất
- 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
- chào mừng và đến
- đến và con trỏ này
- 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
- chào mừng và đến
- đến và con trỏ này
- 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