$ filter[None, re.split['[, ]',string]]
['blah', 'lots', 'of', 'spaces', 'here']
2 [như trong các biểu thức chính quy] cho phép chia tách trên nhiều ký tự cùng một lúc:$ string = "blah, lots , of , spaces, here "
$ re.split[', ',string]
['blah', 'lots ', ' of ', ' spaces', 'here ']
Điều này không hoạt động tốt cho chuỗi ví dụ của bạn, nhưng hoạt động độc đáo cho danh sách phân tách không gian dấu phẩy. Đối với chuỗi ví dụ của bạn, bạn có thể kết hợp sức mạnh RE.Split để phân chia trên các mẫu regex để có được hiệu ứng "phân chia trên đó hoặc đó".
$ re.split['[, ]',string]
['blah',
'',
'lots',
'',
'',
'',
'',
'of',
'',
'',
'',
'spaces',
'',
'here',
'']
Thật không may, điều đó thật xấu xí, nhưng
$ filter[None, re.split['[, ]',string]]
['blah', 'lots', 'of', 'spaces', 'here']
3 sẽ thực hiện thủ thuật:$ filter[None, re.split['[, ]',string]]
['blah', 'lots', 'of', 'spaces', 'here']
Voila!
Để sử dụng các biểu thức thông thường trong Python để loại bỏ không gian trắng khỏi chuỗi:
Nhập mô -đun Regex, Re, vào dự án của bạn.
Xác định một mẫu regex phù hợp với không gian trắng.
s = ' Hello World From Pankaj \t\n\r\tHi There '
Thay thế mỗi không gian trắng bằng một không gian trống bằng phương thức re.sub [].
strip[]
Ví dụ:
>>> s.strip[]
'Hello World From Pankaj \t\n\r\tHi There'
$ filter[None, re.split['[, ]',string]]
['blah', 'lots', 'of', 'spaces', 'here']
0replace[]
Chúng ta có thể sử dụng thay thế [] để loại bỏ tất cả các khoảng trắng khỏi chuỗi. Hàm này sẽ loại bỏ khoảng trắng giữa các từ quá.
>>> s.replace[" ", ""]
'HelloWorldFromPankaj\t\n\r\tHiThere'
tham gia [] với split []
Nếu bạn muốn loại bỏ tất cả các không gian trắng trùng lặp và các ký tự mới, thì bạn có thể sử dụng hàm
$ filter[None, re.split['[, ]',string]]
['blah', 'lots', 'of', 'spaces', 'here']
4 với chức năng chuỗi $ filter[None, re.split['[, ]',string]]
['blah', 'lots', 'of', 'spaces', 'here']
5.>>> " ".join[s.split[]]
'Hello World From Pankaj Hi There'
translate[]
Nếu bạn muốn loại bỏ tất cả các không gian trắng cũng như các ký tự mới, bạn có thể sử dụng hàm chuỗi
$ filter[None, re.split['[, ]',string]]
['blah', 'lots', 'of', 'spaces', 'here']
6.>>> import string
>>> s.translate[{ord[c]: None for c in string.whitespace}]
'HelloWorldFromPankajHiThere'
Python loại bỏ khoảng trắng khỏi chuỗi bằng cách sử dụng regex
Chúng ta cũng có thể sử dụng một biểu thức thông thường để phù hợp với khoảng trắng và loại bỏ chúng bằng hàm
$ filter[None, re.split['[, ]',string]]
['blah', 'lots', 'of', 'spaces', 'here']
7.import re
s = ' Hello World From Pankaj \t\n\r\tHi There '
print['Remove all spaces using RegEx:\n', re.sub[r"\s+", "", s], sep=''] # \s matches all white spaces
print['Remove leading spaces using RegEx:\n', re.sub[r"^\s+", "", s], sep=''] # ^ matches start
print['Remove trailing spaces using RegEx:\n', re.sub[r"\s+$", "", s], sep=''] # $ matches end
print['Remove leading and trailing spaces using RegEx:\n', re.sub[r"^\s+|\s+$", "", s], sep=''] # | for OR condition
Output:
Remove all spaces using RegEx:
HelloWorldFromPankajHiThere
Remove leading spaces using RegEx:
Hello World From Pankaj
Hi There
Remove trailing spaces using RegEx:
Hello World From Pankaj
Hi There
Remove leading and trailing spaces using RegEx:
Hello World From Pankaj
Hi There
Bạn có thể xem tập lệnh Python hoàn chỉnh và nhiều ví dụ Python hơn từ kho lưu trữ GitHub của chúng tôi.
Tham khảo: Câu hỏi về Stackoverflow
Tôi sẽ không đi sâu vào chi tiết về Regex, nhưng đây là một bài viết tuyệt vời bạn có thể kiểm tra.str.replace[] method. Để sử dụng các biểu thức thông thường trong Python để loại bỏ không gian trắng khỏi chuỗi: Ví dụ: Output: Đây là câu trả lời nhanh chóng. Để tìm hiểu các phương thức chuỗi hữu ích khác trong Python, vui lòng kiểm tra bài viết này. Trong hướng dẫn này, chúng tôi xem xét các tình huống phổ biến khác liên quan đến việc loại bỏ không gian khỏi một chuỗi. Trong Python, một chuỗi là một loại bất biến. Điều này có nghĩa là nó không thể được sửa đổi trực tiếp. Điều này có nghĩa là bất kỳ phương pháp nào điều khiển các chuỗi thực sự tạo ra một chuỗi mới.
0$ re.split['[, ]',string]
['blah',
'',
'lots',
'',
'',
'',
'',
'of',
'',
'',
'',
'spaces',
'',
'here',
'']
1$ re.split['[, ]',string]
['blah',
'',
'lots',
'',
'',
'',
'',
'of',
'',
'',
'',
'spaces',
'',
'here',
'']
Trong Python, có nhiều cách bạn có thể thay thế các không gian trống:
- str.strip[]
- str.replace[]
- str.join [] với str.split [] with str.split[]
- str.translate[]
- re.sub[]
Hãy cùng đi qua từng tùy chọn này và khi nào bạn nên sử dụng chúng.
1. str.strip [] - Xóa không gian dẫn đầu và dấu vết
Phương thức str.strip [] loại bỏ khoảng trắng dẫn đầu và dấu vết từ một chuỗi.str.strip[] method removes the leading and trailing whitespace from a string.
Ví dụ:
$ re.split['[, ]',string]
['blah',
'',
'lots',
'',
'',
'',
'',
'of',
'',
'',
'',
'spaces',
'',
'here',
'']
2Output:
$ re.split['[, ]',string]
['blah',
'',
'lots',
'',
'',
'',
'',
'of',
'',
'',
'',
'spaces',
'',
'here',
'']
32. str.Replace [] - Xóa tất cả các không gian trắng
Để xóa sạch tất cả các không gian màu trắng từ một chuỗi, bạn có thể sử dụng phương thức str.Replace [].str.replace[] method.
Phương pháp này có hai đối số bắt buộc:
- Các chuỗi mục tiêu bạn muốn thoát khỏi.
- Chuỗi thay thế tất cả các chuỗi đích.
Nói cách khác, để loại bỏ các không gian trắng, thay thế từng khoảng trắng bằng một chuỗi trống.
Ví dụ:
$ re.split['[, ]',string]
['blah',
'',
'lots',
'',
'',
'',
'',
'of',
'',
'',
'',
'spaces',
'',
'here',
'']
4Output:
$ re.split['[, ]',string]
['blah',
'',
'lots',
'',
'',
'',
'',
'of',
'',
'',
'',
'spaces',
'',
'here',
'']
12. str.Replace [] - Xóa tất cả các không gian trắng
Để xóa sạch tất cả các không gian màu trắng từ một chuỗi, bạn có thể sử dụng phương thức str.Replace [].str.join[] method with str.split[].
Phương pháp này có hai đối số bắt buộc:
- Các chuỗi mục tiêu bạn muốn thoát khỏi.str.split[] method splits the string into a list of words without spaces.
- Chuỗi thay thế tất cả các chuỗi đích.str.join[] takes a list of words and joins them using the str as a separator.
Nói cách khác, để loại bỏ các không gian trắng, thay thế từng khoảng trắng bằng một chuỗi trống.
$ re.split['[, ]',string]
['blah',
'',
'lots',
'',
'',
'',
'',
'of',
'',
'',
'',
'spaces',
'',
'here',
'']
6Output:
$ re.split['[, ]',string]
['blah',
'',
'lots',
'',
'',
'',
'',
'of',
'',
'',
'',
'spaces',
'',
'here',
'']
73. str.join [] và str.split [] - Xóa các không gian trắng trùng lặp
Để loại bỏ các tab, newlines hoặc bất kỳ khoảng trắng trùng lặp nào khác sử dụng phương thức str.join [] với str.split [].str.translate[] method with str.maketrans[] method.
Điều này hoạt động như vậy:str.translate[] method replaces strings according to a translation table created by str.maketrans[] method. In short, the str.maketrans[] method works such that it takes three arguments:
- Phương thức str.split [] chia chuỗi thành một danh sách các từ không có khoảng trắng.
- Str.join [] lấy một danh sách các từ và tham gia với chúng bằng cách sử dụng str làm dấu phân cách.
- Ví dụ: hãy để loại bỏ các không gian trắng trùng lặp nhưng để lại không gian trắng đơn lẻ:string.whitespaces, which is a list of the types of blank spaces.
Ví dụ:
$ re.split['[, ]',string]
['blah',
'',
'lots',
'',
'',
'',
'',
'of',
'',
'',
'',
'spaces',
'',
'here',
'']
8Output:
$ re.split['[, ]',string]
['blah',
'',
'lots',
'',
'',
'',
'',
'of',
'',
'',
'',
'spaces',
'',
'here',
'']
92. str.Replace [] - Xóa tất cả các không gian trắng
Để xóa sạch tất cả các không gian màu trắng từ một chuỗi, bạn có thể sử dụng phương thức str.Replace [].
Phương pháp này có hai đối số bắt buộc:
Các chuỗi mục tiêu bạn muốn thoát khỏi.
Chuỗi thay thế tất cả các chuỗi đích.
- Nói cách khác, để loại bỏ các không gian trắng, thay thế từng khoảng trắng bằng một chuỗi trống. the regex module, re, to your project.
- 3. str.join [] và str.split [] - Xóa các không gian trắng trùng lặp a regex pattern that matches white spaces.
- Để loại bỏ các tab, newlines hoặc bất kỳ khoảng trắng trùng lặp nào khác sử dụng phương thức str.join [] với str.split []. each white space with a blank space using re.sub[] method.
Điều này hoạt động như vậy:
Phương thức str.split [] chia chuỗi thành một danh sách các từ không có khoảng trắng.Output:
$ re.split['[, ]',string]
['blah',
'',
'lots',
'',
'',
'',
'',
'of',
'',
'',
'',
'spaces',
'',
'here',
'']
1Str.join [] lấy một danh sách các từ và tham gia với chúng bằng cách sử dụng str làm dấu phân cách.
Ví dụ: hãy để loại bỏ các không gian trắng trùng lặp nhưng để lại không gian trắng đơn lẻ:
4. str.translate [] - Xóa tab, newlines và các không gian trắng khác
Để loại bỏ tất cả các không gian trắng, tab, newlines, bạn có thể sử dụng phương thức str.translate [] với phương thức str.maketrans [].
Phương thức str.translate [] thay thế các chuỗi theo một bảng dịch được tạo bởi phương thức str.maketrans []. Nói tóm lại, phương thức str.maketrans [] hoạt động sao cho nó có ba đối số:
Một chuỗi được thay thế.