Trailing Whitespace là bất kỳ không gian hoặc tab nào sau ký tự không phải là màu cuối cùng trên dòng cho đến khi dòng mới.
Trong câu hỏi được đăng của bạn, có thêm một không gian sau
s1 = ' abc '
print[f'String =\'{s1}\'']
print[f'After Removing Leading Whitespaces String =\'{s1.lstrip[]}\'']
print[f'After Removing Trailing Whitespaces String =\'{s1.rstrip[]}\'']
print[f'After Trimming Whitespaces String =\'{s1.strip[]}\'']
1 và có 12 không gian bổ sung sau s1 = ' abc '
print[f'String =\'{s1}\'']
print[f'After Removing Leading Whitespaces String =\'{s1.lstrip[]}\'']
print[f'After Removing Trailing Whitespaces String =\'{s1.rstrip[]}\'']
print[f'After Trimming Whitespaces String =\'{s1.strip[]}\'']
2:>>> post_text = '''\
... if self.tagname and self.tagname2 in list1:
... try:
... question = soup.find["div", "post-text"]
... title = soup.find["a", "question-hyperlink"]
... self.list2.append[str[title]+str[question]+url]
... current += 1
... except AttributeError:
... pass
... logging.info["%s questions passed, %s questions \
... collected" % [count, current]]
... count += 1
... return self.list2
... '''
>>> for line in post_text.splitlines[]:
... if line.rstrip[] != line:
... print[repr[line]]
...
' try: '
' pass '
Xem các chuỗi kết thúc ở đâu? Có không gian trước các đường [thụt lề], nhưng cũng không gian sau.
Sử dụng trình soạn thảo của bạn để tìm phần cuối của dòng và backspace. Nhiều trình chỉnh sửa văn bản hiện đại cũng có thể tự động xóa khoảng trắng dấu vết từ cuối dòng, ví dụ mỗi khi bạn lưu tệp.
Python cung cấp ba phương pháp có thể được sử dụng để cắt không gian trắng từ đối tượng chuỗi.
Chuỗi trang trí Python
- Dải []: Trả về một chuỗi mới sau khi loại bỏ bất kỳ không gian trắng dẫn đầu và dấu vết bao gồm các tab [
3].: returns a new string after removing any leading and trailing whitespaces including tabs [s1 = ' abc ' print[f'String =\'{s1}\''] print[f'After Removing Leading Whitespaces String =\'{s1.lstrip[]}\''] print[f'After Removing Trailing Whitespaces String =\'{s1.rstrip[]}\''] print[f'After Trimming Whitespaces String =\'{s1.strip[]}\'']
3].s1 = ' abc ' print[f'String =\'{s1}\''] print[f'After Removing Leading Whitespaces String =\'{s1.lstrip[]}\''] print[f'After Removing Trailing Whitespaces String =\'{s1.rstrip[]}\''] print[f'After Trimming Whitespaces String =\'{s1.strip[]}\'']
- RSTRIP []: Trả về một chuỗi mới với khoảng trắng kéo dài. Nó dễ nhớ hơn khi loại bỏ các không gian trắng khỏi phía bên phải của chuỗi.: returns a new string with trailing whitespace removed. It’s easier to remember as removing white spaces from “right” side of the string.
- LSTRIP []: Trả về một chuỗi mới với khoảng trắng hàng đầu bị loại bỏ hoặc loại bỏ khoảng trắng khỏi phía bên trái của chuỗi.: returns a new string with leading whitespace removed, or removing whitespaces from the “left” side of the string.
Tất cả các phương pháp này không chấp nhận bất kỳ đối số nào để loại bỏ khoảng trắng. Nếu một đối số ký tự được cung cấp, thì họ sẽ loại bỏ các ký tự đó khỏi chuỗi khỏi các địa điểm dẫn đầu và theo dõi. Hãy cùng xem một ví dụ đơn giản về việc cắt tỉa khoảng trắng từ chuỗi trong Python.
s1 = ' abc '
print[f'String =\'{s1}\'']
print[f'After Removing Leading Whitespaces String =\'{s1.lstrip[]}\'']
print[f'After Removing Trailing Whitespaces String =\'{s1.rstrip[]}\'']
print[f'After Trimming Whitespaces String =\'{s1.strip[]}\'']
Output:
String =' abc '
After Removing Leading Whitespaces String ='abc '
After Removing Trailing Whitespaces String =' abc'
After Trimming Whitespaces String ='abc'
Hãy cùng xem xét một số ví dụ khác với các chuỗi có một dòng mới và tab.
>>> s1 = ' X\n Y \nZ \t'
>>> s1.strip[]
'X\n Y \nZ'
>>> s1.rstrip[]
' X\n Y \nZ'
>>> s1.lstrip[]
'X\n Y \nZ \t'
Bạn có thể kiểm tra thêm các ví dụ chuỗi Python từ kho GitHub của chúng tôi.
Muốn tìm hiểu thêm? Tham gia cộng đồng DigitalOcean!
Tham gia cộng đồng DigitalOcean của chúng tôi miễn phí hơn một triệu nhà phát triển! Nhận trợ giúp và chia sẻ kiến thức trong phần Câu hỏi & Câu trả lời của chúng tôi, tìm hướng dẫn và công cụ sẽ giúp bạn phát triển như một nhà phát triển và mở rộng quy mô dự án hoặc doanh nghiệp của bạn, và đăng ký các chủ đề quan tâm.
Đăng ký
Có nhiều cách khác nhau để loại bỏ khoảng trống từ một chuỗi trong Python. Hướng dẫn này nhằm mục đích cung cấp một ví dụ ngắn về các chức năng khác nhau mà chúng ta có thể sử dụng để loại bỏ khoảng trắng khỏi một chuỗi.
Python loại bỏ khoảng trống khỏi chuỗi
Chuỗi Python là bất biến, vì vậy chúng ta có thể thay đổi giá trị của nó. Bất kỳ chức năng nào điều khiển giá trị chuỗi trả về một chuỗi mới và chúng tôi phải gán nó một cách rõ ràng cho chuỗi. Nếu không, giá trị chuỗi won thay đổi. Hãy nói rằng chúng tôi có một chuỗi ví dụ được xác định là:
s = ' Hello World From Pankaj \t\n\r\tHi There '
Chuỗi này có các loại không gian trắng khác nhau cũng như các ký tự mới. Hãy để một cái nhìn về các chức năng khác nhau để loại bỏ không gian.
strip[]
Chức năng Dải chuỗi Python [] sẽ loại bỏ các khoảng trắng dẫn đầu và theo dõi.
>>> s.strip[]
'Hello World From Pankaj \t\n\r\tHi There'
Nếu bạn muốn loại bỏ các không gian dẫn hoặc dấu vết, hãy sử dụng hàm lstrip [] hoặc rstrip [] thay thế.
replace[]
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
s1 = ' abc '
print[f'String =\'{s1}\'']
print[f'After Removing Leading Whitespaces String =\'{s1.lstrip[]}\'']
print[f'After Removing Trailing Whitespaces String =\'{s1.rstrip[]}\'']
print[f'After Trimming Whitespaces String =\'{s1.strip[]}\'']
4 với chức năng chuỗi s1 = ' abc '
print[f'String =\'{s1}\'']
print[f'After Removing Leading Whitespaces String =\'{s1.lstrip[]}\'']
print[f'After Removing Trailing Whitespaces String =\'{s1.rstrip[]}\'']
print[f'After Trimming Whitespaces String =\'{s1.strip[]}\'']
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ự dòng mới, bạn có thể sử dụng chức năng String
s1 = ' abc '
print[f'String =\'{s1}\'']
print[f'After Removing Leading Whitespaces String =\'{s1.lstrip[]}\'']
print[f'After Removing Trailing Whitespaces String =\'{s1.rstrip[]}\'']
print[f'After Trimming Whitespaces String =\'{s1.strip[]}\'']
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
s1 = ' abc '
print[f'String =\'{s1}\'']
print[f'After Removing Leading Whitespaces String =\'{s1.lstrip[]}\'']
print[f'After Removing Trailing Whitespaces String =\'{s1.rstrip[]}\'']
print[f'After Trimming Whitespaces String =\'{s1.strip[]}\'']
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:
s1 = ' abc '
print[f'String =\'{s1}\'']
print[f'After Removing Leading Whitespaces String =\'{s1.lstrip[]}\'']
print[f'After Removing Trailing Whitespaces String =\'{s1.rstrip[]}\'']
print[f'After Trimming Whitespaces String =\'{s1.strip[]}\'']
0Bạ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