Tôi muốn loại bỏ tất cả khoảng trắng khỏi một chuỗi, ở cả hai đầu và ở giữa các từ.
Tôi có mã Python này:
def my_handle[self]:
sentence = ' hello apple '
sentence.strip[]
Nhưng điều đó chỉ loại bỏ khoảng trắng ở cả hai bên của chuỗi. Làm cách nào để loại bỏ tất cả khoảng trắng?
Đã hỏi ngày 25 tháng 11 năm 2011 lúc 13:51Nov 25, 2011 at 13:51
0x120x120x12
18.4K22 Huy hiệu vàng65 Huy hiệu bạc124 Huy hiệu đồng22 gold badges65 silver badges124 bronze badges
3
Nếu bạn muốn xóa không gian dẫn đầu và kết thúc, hãy sử dụng
>>> " ".join[" hello apple ".split[]]
'hello apple'
0:>>> " hello apple ".strip[]
'hello apple'
Nếu bạn muốn xóa tất cả các ký tự không gian, hãy sử dụng
>>> " ".join[" hello apple ".split[]]
'hello apple'
1 [NB này chỉ loại bỏ ký tự không gian ASCII bình thường >>> " ".join[" hello apple ".split[]]
'hello apple'
2 nhưng không phải bất kỳ khoảng trắng nào khác]:>>> " hello apple ".replace[" ", ""]
'helloapple'
Nếu bạn muốn loại bỏ các không gian trùng lặp, hãy sử dụng
>>> " ".join[" hello apple ".split[]]
'hello apple'
3 theo sau là >>> " ".join[" hello apple ".split[]]
'hello apple'
4:>>> " ".join[" hello apple ".split[]]
'hello apple'
Mateen Ulhaq
22.6K16 Huy hiệu vàng86 Huy hiệu bạc128 Huy hiệu đồng16 gold badges86 silver badges128 bronze badges
Đã trả lời ngày 25 tháng 11 năm 2011 lúc 13:56Nov 25, 2011 at 13:56
Cédric Juliencédric JulienCédric Julien
76.6K15 Huy hiệu vàng121 Huy hiệu bạc129 Huy hiệu đồng15 gold badges121 silver badges129 bronze badges
7
Để chỉ loại bỏ các khoảng trống, hãy sử dụng
>>> " ".join[" hello apple ".split[]]
'hello apple'
5:sentence = sentence.replace[' ', '']
Để xóa tất cả các ký tự khoảng trắng [không gian, tab, newline, v.v.], bạn có thể sử dụng
>>> " ".join[" hello apple ".split[]]
'hello apple'
6 sau đó >>> " ".join[" hello apple ".split[]]
'hello apple'
7:sentence = ''.join[sentence.split[]]
hoặc một biểu thức chính quy:
import re
pattern = re.compile[r'\s+']
sentence = re.sub[pattern, '', sentence]
Nếu bạn muốn chỉ loại bỏ khoảng trắng từ đầu và kết thúc, bạn có thể sử dụng
>>> " ".join[" hello apple ".split[]]
'hello apple'
8:sentence = sentence.strip[]
Bạn cũng có thể sử dụng
>>> " ".join[" hello apple ".split[]]
'hello apple'
9 để loại bỏ khoảng trắng chỉ từ đầu chuỗi và sentence = sentence.replace[' ', '']
0 để loại bỏ khoảng trắng từ cuối chuỗi.
Randall Cook
6.6286 Huy hiệu vàng33 Huy hiệu bạc67 Huy hiệu Đồng6 gold badges33 silver badges67 bronze badges
Đã trả lời ngày 25 tháng 11 năm 2011 lúc 13:54Nov 25, 2011 at 13:54
Mark Byersmark ByersMark Byers
786K188 Huy hiệu vàng1552 Huy hiệu bạc1440 Huy hiệu đồng188 gold badges1552 silver badges1440 bronze badges
2
Một giải pháp thay thế là sử dụng các biểu thức chính quy và phù hợp với các ký tự không gian trắng kỳ lạ này. Dưới đây là một số ví dụ:
Xóa tất cả các khoảng trống trong một chuỗi, thậm chí giữa các từ:
import re
sentence = re.sub[r"\s+", "", sentence, flags=re.UNICODE]
Xóa khoảng trống ở đầu chuỗi:
import re
sentence = re.sub[r"^\s+", "", sentence, flags=re.UNICODE]
Xóa khoảng trống ở cuối chuỗi:
>>> " hello apple ".strip[]
'hello apple'
0Loại bỏ khoảng trống cả ở đầu và cuối chuỗi:
>>> " hello apple ".strip[]
'hello apple'
1Chỉ loại bỏ các không gian trùng lặp:
>>> " hello apple ".strip[]
'hello apple'
2[Tất cả các ví dụ hoạt động trong cả Python 2 và Python 3]
Đã trả lời ngày 19 tháng 2 năm 2015 lúc 13:05Feb 19, 2015 at 13:05
Emil Stenströmemil StenströmEmil Stenström
12.4K8 Huy hiệu vàng50 Huy hiệu bạc74 Huy hiệu đồng8 gold badges50 silver badges74 bronze badges
3
"Whitespace" bao gồm không gian, tab và CRLF. Vì vậy, một chức năng chuỗi thanh lịch và một lớp chúng ta có thể sử dụng là
sentence = sentence.replace[' ', '']
1:space, tabs, and CRLF. So an elegant and
one-liner string function we can use is sentence = sentence.replace[' ', '']
1:Python 3
>>> " hello apple ".strip[]
'hello apple'
3Hoặc nếu bạn muốn được kỹ lưỡng: if you want to be thorough:
>>> " hello apple ".strip[]
'hello apple'
4Python 2
>>> " hello apple ".strip[]
'hello apple'
5Hoặc nếu bạn muốn được kỹ lưỡng: if you want to be thorough:
>>> " hello apple ".strip[]
'hello apple'
6
ib.
Python 210 gold badges77 silver badges99 bronze badges
26.9k10 Huy hiệu vàng77 Huy hiệu bạc99 Huy hiệu đồngNov 28, 2015 at 3:36
Đã trả lời ngày 28 tháng 11 năm 2015 lúc 3:36MaK
Makmak1 gold badge16 silver badges6 bronze badges
3
1.6081 Huy hiệu vàng16 Huy hiệu bạc6 Huy hiệu đồng
>>> " hello apple ".strip[]
'hello apple'
7Đã trả lời ngày 25 tháng 11 năm 2011 lúc 13:56Nov 25, 2011 at 13:56
wal-o-matwal-o-matwal-o-mat
Cédric Juliencédric Julien7 gold badges30 silver badges40 bronze badges
2
76.6K15 Huy hiệu vàng121 Huy hiệu bạc129 Huy hiệu đồng
Để chỉ loại bỏ các khoảng trống, hãy sử dụng
>>> " ".join[" hello apple ".split[]]
'hello apple'
5:
Để xóa tất cả các ký tự khoảng trắng [không gian, tab, newline, v.v.], bạn có thể sử dụng
>>> " ".join[" hello apple ".split[]]
'hello apple'
6 sau đó >>> " ".join[" hello apple ".split[]]
'hello apple'
7:hoặc một biểu thức chính quy:16 gold badges154 silver badges137 bronze badges
Nếu bạn muốn chỉ loại bỏ khoảng trắng từ đầu và kết thúc, bạn có thể sử dụng
>>> " ".join[" hello apple ".split[]]
'hello apple'
8:Sep 26, 2016 at 9:54
1
Bạn cũng có thể sử dụng
>>> " ".join[" hello apple ".split[]]
'hello apple'
9 để loại bỏ khoảng trắng chỉ từ đầu chuỗi và sentence = sentence.replace[' ', '']
0 để loại bỏ khoảng trắng từ cuối chuỗi.Randall Cook
>>> " hello apple ".strip[]
'hello apple'
9Xóa khoảng trống ở đầu chuỗi:
>>> " hello apple ".replace[" ", ""]
'helloapple'
0Xóa khoảng trống ở cuối chuỗi:
>>> " hello apple ".replace[" ", ""]
'helloapple'
1Loại bỏ khoảng trống cả ở đầu và cuối chuỗi:
>>> " hello apple ".replace[" ", ""]
'helloapple'
2Chỉ loại bỏ các không gian trùng lặp:
>>> " hello apple ".replace[" ", ""]
'helloapple'
3[Tất cả các ví dụ hoạt động trong cả Python 2 và Python 3]Apr 6, 2018 at 20:51
cacti5cacti5cacti5
Đã trả lời ngày 19 tháng 2 năm 2015 lúc 13:052 gold badges24 silver badges32 bronze badges
Emil Stenströmemil Stenström
12.4K8 Huy hiệu vàng50 Huy hiệu bạc74 Huy hiệu đồng
"Whitespace" bao gồm không gian, tab và CRLF. Vì vậy, một chức năng chuỗi thanh lịch và một lớp chúng ta có thể sử dụng là
sentence = sentence.replace[' ', '']
1:
Python 3Nov 12, 2014 at 19:30
Hoặc nếu bạn muốn được kỹ lưỡng:yan bellavance
Python 220 gold badges59 silver badges92 bronze badges
1
26.9k10 Huy hiệu vàng77 Huy hiệu bạc99 Huy hiệu đồngMar 13, 2020 at 15:51
Đã trả lời ngày 28 tháng 11 năm 2015 lúc 3:36handle
Makmak3 gold badges50 silver badges77 bronze badges
1
1.6081 Huy hiệu vàng16 Huy hiệu bạc6 Huy hiệu đồng
>>> " hello apple ".replace[" ", ""]
'helloapple'
4Để loại bỏ khoảng trắng từ đầu và cuối, hãy sử dụng
>>> " ".join[" hello apple ".split[]]
'hello apple'
8.It is easy to use and it can use without binding to a variable.
>>> " hello apple ".replace[" ", ""]
'helloapple'
56.9687 Huy hiệu vàng30 Huy hiệu bạc40 Huy hiệu đồngJul 29, 2021 at 14:33
>>> " hello apple ".strip[]
'hello apple'
8naoki fujitaMak đã chỉ ra phương thức "dịch" ở trên. Và biến thể này hoạt động với Python 3 [xem Q & A này].1 gold badge7 silver badges13 bronze badges
>>> " hello apple ".replace[" ", ""]
'helloapple'
6AsclepiusOct 24, 2016 at 12:46
1
52.9K16 Huy hiệu vàng154 Huy hiệu bạc137 Huy hiệu đồng
>>> " hello apple ".replace[" ", ""]
'helloapple'
7Đã trả lời ngày 19 tháng 2 lúc 10:59Feb 19 at 10:59
2
Tôi thấy rằng điều này hoạt động tốt nhất đối với tôi:
>>> " hello apple ".replace[" ", ""]
'helloapple'
8Nó loại bỏ bất kỳ khoảng trắng, tab, v.v.
Đã trả lời ngày 25 tháng 7 lúc 10:08Jul 25 at 10:08
Hãy thử điều này .. Thay vì sử dụng Re, tôi nghĩ rằng sử dụng Split với dải tốt hơn nhiều
>>> " hello apple ".replace[" ", ""]
'helloapple'
9Đã trả lời ngày 10 tháng 10 năm 2020 lúc 19:36Oct 10, 2020 at 19:36
Assad Aliassad AliAssad Ali
2891 Huy hiệu bạc12 Huy hiệu đồng1 silver badge12 bronze badges