Hướng dẫn remove extra characters from string python - xóa các ký tự thừa khỏi chuỗi python
Tôi cần xóa tất cả các ký tự đặc biệt, dấu câu và khoảng trống từ một chuỗi để tôi chỉ có chữ cái và số. Show
Công ty JSC 63.4K13 Huy hiệu vàng150 Huy hiệu bạc193 Huy hiệu Đồng13 gold badges150 silver badges193 bronze badges Hỏi ngày 30 tháng 4 năm 2011 lúc 17:41Apr 30, 2011 at 17:41
Điều này có thể được thực hiện mà không cần Regex:
Bạn có thể sử dụng 9:
Nếu bạn khăng khăng sử dụng Regex, các giải pháp khác sẽ làm tốt. Tuy nhiên, lưu ý rằng nếu nó có thể được thực hiện mà không cần sử dụng một biểu thức thông thường, đó là cách tốt nhất để đi về nó.
wjandrea 25.2k8 Huy hiệu vàng53 Huy hiệu bạc74 Huy hiệu đồng8 gold badges53 silver badges74 bronze badges Đã trả lời ngày 30 tháng 4 năm 2011 lúc 17:47Apr 30, 2011 at 17:47
user225312user225312user225312 122K66 Huy hiệu vàng167 Huy hiệu bạc181 Huy hiệu Đồng66 gold badges167 silver badges181 bronze badges 6 Dưới đây là một regex để khớp một chuỗi các ký tự không phải là chữ cái hoặc số:
Đây là lệnh Python để thay thế Regex:
wjandrea 25.2k8 Huy hiệu vàng53 Huy hiệu bạc74 Huy hiệu đồng8 gold badges53 silver badges74 bronze badges Đã trả lời ngày 30 tháng 4 năm 2011 lúc 17:47Apr 30, 2011 at 17:46
122K66 Huy hiệu vàng167 Huy hiệu bạc181 Huy hiệu ĐồngAndy White Dưới đây là một regex để khớp một chuỗi các ký tự không phải là chữ cái hoặc số:47 gold badges173 silver badges209 bronze badges 9 Đây là lệnh Python để thay thế Regex:
wjandrea Đã trả lời ngày 30 tháng 4 năm 2011 lúc 17:46Aug 7, 2014 at 13:26
Andy Whiteeandy WhitetuxErrante 85.1K47 Huy hiệu vàng173 Huy hiệu bạc209 Huy hiệu đồng10 silver badges18 bronze badges 6 Cách ngắn hơn:Nếu bạn muốn khoảng trống giữa các từ và số thay thế '' bằng ''
Đã trả lời ngày 7 tháng 8 năm 2014 lúc 13:263x faster than the next fastest provided top answer. tuxerrantetuxerranteø) may not be striped using this method. 1.19410 Huy hiệu bạc18 Huy hiệu đồng
TLDR
Cần thận trọng khi sử dụng tùy chọn này. Một số ký tự đặc biệt (ví dụ: Ø) không được sọc bằng phương pháp này.
re.sub('[^A-Za-z0-9]+', '', mystring) 3 - Kết quả: 10.7061979771
3 - Kết quả: 7.10785102844
Ví dụ 3Aug 6, 2016 at 1:04
3 - Kết quả: 3.11899876595mbeacom
7 Các kết quả trên là một sản phẩm của kết quả trả lại thấp nhất từ trung bình là: re.sub('[^A-Za-z0-9]+', '', mystring) 9Ví dụ 3 có thể nhanh hơn 3 lần so với ví dụ 1.
Đã trả lời ngày 6 tháng 8 năm 2016 lúc 1:04MBeacommbeaCom 01.37814 Huy hiệu bạc25 Huy hiệu đồng 1Python 2.* Tôi nghĩ chỉ 0 hoạt độngApr 14, 2016 at 9:32
Python 3.*Grijesh Chauhan Trong Python3, hàm 4 2hoặc để vượt qua 2 khi sử dụng tham gia (không chắc chắn nhưng có thể nhanh chóng một chút)Lưu ý: Giải nén trong 3 có giá trị từ Python> = 3.5May 25, 2014 at 9:28
Đã trả lời ngày 14 tháng 4 năm 2016 lúc 9:32pkm Grijesh Chauhangrijesh Chauhan1 gold badge28 silver badges44 bronze badges 0 55,9K19 Huy hiệu vàng135 Huy hiệu bạc202 Huy hiệu đồngis not what I want, instead of enumerating explicitly what I don't want. Bạn có thể thêm nhiều ký tự đặc biệt hơn và điều đó sẽ được thay thế bằng '' có nghĩa là không có gì tức là chúng sẽ bị xóa. 3Đã trả lời ngày 25 tháng 5 năm 2014 lúc 9:28 PKMPKM 2.6251 Huy hiệu vàng28 Huy hiệu bạc44 Huy hiệu đồnglowercase the result, you can make the regex even faster and easier, as long as you won't find any uppercase now. 4Khác với những người khác đã sử dụng Regex, tôi sẽ cố gắng loại trừ mọi nhân vật không phải là điều tôi muốn, thay vì liệt kê rõ ràng những gì tôi không muốn.Sep 5, 2018 at 10:02
Ví dụ: nếu tôi chỉ muốn các ký tự từ 'A đến Z' (chữ hoa và chữ thường) và số, tôi sẽ loại trừ mọi thứ khác:Andrea Điều này có nghĩa là "thay thế mọi ký tự không phải là một số hoặc một ký tự trong phạm vi 'A đến Z' hoặc 'A đến Z' bằng một chuỗi trống".4 gold badges34 silver badges54 bronze badges Trên thực tế, nếu bạn chèn ký tự đặc biệt 4 ở nơi đầu tiên của Regex, bạn sẽ nhận được sự phủ định.
Đã trả lời ngày 5 tháng 9 năm 2018 lúc 10:02 5Output: 6AndreaandreaMar 17, 2020 at 15:14
4.0604 Huy hiệu vàng34 Huy hiệu bạc54 Huy hiệu đồngVlad Bezden Chuỗi.Punction chứa các ký tự sau:23 gold badges244 silver badges177 bronze badges 7
'! "#$%& \' ()*+,-./:;?Jun 15, 2018 at 12:09
Bạn có thể sử dụng các chức năng Dịch và Maketrans để ánh xạ các dấu câu đến các giá trị trống (thay thế)sneha Đã trả lời ngày 17 tháng 3 năm 2020 lúc 15:146 silver badges7 bronze badges Vlad Bezdenvlad Bezden 877.3K23 Huy hiệu vàng244 Huy hiệu bạc177 Huy hiệu đồngApr 30, 2011 at 21:07
Đã trả lời ngày 15 tháng 6 năm 2018 lúc 12:09John Machin Snehasneha11 gold badges138 silver badges185 bronze badges 7696 Huy hiệu bạc7 Huy hiệu Đồng 9Giả sử bạn muốn sử dụng regex và bạn muốn/cần mã unicode-đồng nhận thức 2.x sẵn sàng 2to3:
Đã trả lời ngày 30 tháng 4 năm 2011 lúc 21:07 John Machinjohn Machin21 gold badges81 silver badges140 bronze badges Đã trả lời ngày 30 tháng 4 năm 2011 lúc 18:00Apr 30, 2011 at 18:00
2 Đối với các ngôn ngữ khác như tiếng Đức, tiếng Tây Ban Nha, tiếng Đan Mạch, tiếng Pháp, vv có chứa các nhân vật đặc biệt (như "Umlaute" tiếng Đức là 5, 6, 7) chỉ cần thêm chúng vào chuỗi tìm kiếm regex:Ví dụ cho Đức: 0Đã trả lời ngày 27 tháng 6 năm 2020 lúc 10:00Jun 27, 2020 at 10:00
Petezurichpetezurichpetezurich 8.4758 Huy hiệu vàng38 Huy hiệu bạc55 Huy hiệu Đồng8 gold badges38 silver badges55 bronze badges Điều này sẽ loại bỏ tất cả các ký tự đặc biệt, dấu câu và không gian từ một chuỗi và chỉ có số và chữ cái. 1Đã trả lời ngày 11 tháng 5 năm 2021 lúc 8:29May 11, 2021 at 8:29
Dùng dịch thuật: 2Hãy cẩn thận: Chỉ hoạt động trên các chuỗi ASCII. Đã trả lời ngày 23 tháng 3 năm 2016 lúc 19:37Mar 23, 2016 at 19:37
JJmurrejjMurrejjmurre 3423 Huy hiệu bạc14 Huy hiệu Đồng3 silver badges14 bronze badges 2 Điều này sẽ loại bỏ tất cả các ký tự không phải là một số ký tự ngoại trừ không gian. 3
Dharman ♦♦ 28.4K21 Huy hiệu vàng75 Huy hiệu bạc128 Huy hiệu đồng21 gold badges75 silver badges128 bronze badges Đã trả lời ngày 1 tháng 2 năm 2021 lúc 16:57Feb 1, 2021 at 16:57
0 4Giống như trích dẫn kép. "" " 5Đã trả lời ngày 16 tháng 7 năm 2018 lúc 11:52Jul 16, 2018 at 11:52
Sau 10 năm, dưới đây tôi đã viết có giải pháp tốt nhất. Bạn có thể xóa/làm sạch tất cả các ký tự đặc biệt, dấu câu, ký tự ASCII và không gian khỏi chuỗi. 6Đã trả lời ngày 27 tháng 10 năm 2021 lúc 13:21Oct 27, 2021 at 13:21
7Đã trả lời ngày 6 tháng 4 lúc 15:02Apr 6 at 15:02
Art Binduart BinduArt Bindu 6724 Huy hiệu bạc13 Huy hiệu đồng4 silver badges13 bronze badges 8và bạn sẽ xem kết quả của bạn là 'askhnlaskdjalsdk Đã trả lời ngày 25 tháng 2 năm 2016 lúc 8:00Feb 25, 2016 at 8:00
DSW WDSDSW WDSDsw Wds 4745 Huy hiệu bạc17 Huy hiệu đồng5 silver badges17 bronze badges 1 Làm cách nào để xóa các ký tự bổ sung khỏi một chuỗi?Ví dụ về việc loại bỏ các ký tự đặc biệt bằng phương thức thay thế ().. Loại bỏ lớp công khai EXPECIALCHARACTERExample1 .. Công khai tĩnh chính (chuỗi args []). Chuỗi str = "#chuỗi%này chứa^ký tự*đặc biệt &." ;. str = str.replaceall ("[^a-za-z0-9]", "") ;. System.out.println(str);. Làm cách nào để loại bỏ một vài ký tự khỏi một chuỗi trong Python?Bạn có thể xóa một ký tự khỏi chuỗi python bằng cách sử dụng thay thế () hoặc dịch (). Cả hai phương thức này thay thế một ký tự hoặc chuỗi bằng một giá trị đã cho. Nếu một chuỗi trống được chỉ định, ký tự hoặc chuỗi bạn chọn sẽ bị xóa khỏi chuỗi mà không cần thay thế.
Làm cách nào để loại bỏ 3 ký tự cuối cùng khỏi một chuỗi?Có bốn cách để loại bỏ ký tự cuối cùng khỏi một chuỗi:.. Sử dụng StringBuffer.Lớp Deletecahrat () .. Sử dụng chuỗi.Phương thức chuỗi con () .. Sử dụng StringUtils.Phương thức Chop () .. Sử dụng biểu thức chính quy .. Làm cách nào để loại bỏ các ký tự đặc biệt khỏi chuỗi trong Python 3?Xóa ký hiệu khỏi chuỗi bằng cách sử dụng thay thế () người ta có thể sử dụng str.replace () bên trong một vòng lặp để kiểm tra BAD_CHAR và sau đó thay thế nó bằng chuỗi trống do đó loại bỏ nó.use str. replace() inside a loop to check for a bad_char and then replace it with the empty string hence removing it. |