Hướng dẫn how do i remove the ascii character from a string in python? - làm cách nào để xóa ký tự ascii khỏi một chuỗi trong python?
Tôi cần thay thế tất cả các ký tự không phải ASCII (\ x00- \ x7F) bằng một không gian. Tôi ngạc nhiên rằng điều này không dễ dàng ở Python, trừ khi tôi thiếu một cái gì đó. Chức năng sau đây chỉ đơn giản là loại bỏ tất cả các ký tự không phải ASCII: Show
Và cái này thay thế các ký tự không phải ASCII bằng số lượng không gian theo lượng byte trong điểm mã ký tự (nghĩa là ký tự 0 được thay thế bằng 3 khoảng trắng):
Làm thế nào tôi có thể thay thế tất cả các ký tự không phải ASCII bằng một không gian? Trong số vô số câu hỏi tương tự, không có sự thay thế ký tự địa chỉ nào trái ngược với việc tước bỏ, và thêm vào tất cả các ký tự không phải ASCII không phải là một nhân vật cụ thể.
Đã hỏi ngày 19 tháng 11 năm 2013 lúc 18:09Nov 19, 2013 at 18:09
dotancohendotancohendotancohen 28.7K33 Huy hiệu vàng133 Huy hiệu bạc192 Huy hiệu Đồng33 gold badges133 silver badges192 bronze badges 10 Biểu thức 1 của bạn đang lọc, loại bỏ bất cứ thứ gì không phải là ASCII; Thay vào đó, bạn có thể sử dụng một biểu thức có điều kiện:
Điều này xử lý từng ký tự một và vẫn sẽ sử dụng một không gian cho mỗi ký tự được thay thế. Biểu thức thông thường của bạn chỉ nên thay thế các ký tự không ASCII liên tiếp bằng một không gian:
Lưu ý 2 ở đó.Đã trả lời ngày 19 tháng 11 năm 2013 lúc 18:11Nov 19, 2013 at 18:11
Martijn Pieters ♦ Martijn Pieters♦Martijn Pieters 993K277 Huy hiệu vàng3913 Huy hiệu bạc3257 Huy hiệu đồng277 gold badges3913 silver badges3257 bronze badges 4 Đối với bạn, nhận được biểu diễn giống nhau nhất của chuỗi ban đầu của bạn, tôi đề xuất mô -đun unidecode:
Sau đó, bạn có thể sử dụng nó trong một chuỗi:
MIT 10,8k10 Huy hiệu vàng47 Huy hiệu bạc74 Huy hiệu đồng10 gold badges47 silver badges74 bronze badges Đã trả lời ngày 18 tháng 2 năm 2016 lúc 20:50Feb 18, 2016 at 20:50
7 Để xử lý ký tự, hãy sử dụng chuỗi Unicode:
Nhưng lưu ý rằng bạn vẫn sẽ gặp sự cố nếu chuỗi của bạn chứa các ký tự Unicode bị phân tách (ví dụ: ký tự riêng biệt và kết hợp các dấu Accent):
Đã trả lời ngày 19 tháng 11 năm 2013 lúc 18:29Nov 19, 2013 at 18:29
Mark Tolonenmark TolonenMark Tolonen 156K24 Huy hiệu vàng163 Huy hiệu bạc237 Huy hiệu Đồng24 gold badges163 silver badges237 bronze badges 3 Nếu nhân vật thay thế có thể là '?' Thay vì một không gian, thì tôi sẽ đề xuất 3:
Results:
Đã trả lời ngày 3 tháng 1 năm 2017 lúc 6:31Jan 3, 2017 at 6:31
AxoaxoAXO 7.4955 Huy hiệu vàng57 Huy hiệu bạc58 Huy hiệu Đồng5 gold badges57 silver badges58 bronze badges 1 Cái này thì sao? 0Đã trả lời ngày 20 tháng 8 năm 2016 lúc 22:35Aug 20, 2016 at 22:35
Parsecerparsecerparsecer 4.16010 Huy hiệu vàng55 Huy hiệu bạc115 Huy hiệu Đồng10 gold badges55 silver badges115 bronze badges 5 Là một cách tiếp cận bản địa và hiệu quả, bạn không cần phải sử dụng 4 hoặc bất kỳ vòng lặp nào trên các ký tự. Chỉ cần mã hóa với 5 và bỏ qua các lỗi.Sau đây sẽ chỉ xóa các ký tự không phải ASCII: 1Bây giờ nếu bạn muốn thay thế các ký tự đã xóa, chỉ cần thực hiện như sau: 2Đã trả lời ngày 23 tháng 1 năm 2018 lúc 14:39Jan 23, 2018 at 14:39
MazdakmazdakMazdak 102K18 Huy hiệu vàng157 Huy hiệu bạc183 Huy hiệu đồng18 gold badges157 silver badges183 bronze badges 2 Khi chúng tôi sử dụng 6, nó thoát khỏi các ký tự không phải ASCII và nó không thay đổi các ký tự ASCII một cách chính xác. Vì vậy, suy nghĩ chính của tôi là, nó không thay đổi các ký tự ASCII, vì vậy tôi đang lặp lại qua chuỗi và kiểm tra xem ký tự có được thay đổi không. Nếu nó thay đổi thì thay thế nó bằng bộ thay thế, những gì bạn đưa ra. Ví dụ: '' (một không gian duy nhất) hoặc '?' (với một dấu hỏi).For example: ' '(a single space) or '?' (with a question mark). 3Kết quả: "H I" (với một khoảng trống giữa). Cú pháp: 7 STR = Ở đây bạn sẽ cung cấp chuỗi bạn muốn làm việc. Non_ascii_Replacer = Ở đây bạn sẽ cung cấp cho bộ thay thế mà bạn muốn thay thế tất cả các ký tự không ASCII bằng.str = Here you will give the string you want to work with. non_ascii_replacer = Here you will give the replacer which you want to replace all the non ASCII characters with.
Yunnosch 25.6K9 Huy hiệu vàng41 Huy hiệu bạc53 Huy hiệu Đồng9 gold badges41 silver badges53 bronze badges Đã trả lời ngày 22 tháng 12 năm 2020 lúc 8:48Dec 22, 2020 at 8:48
1 Xử lý trước bằng RAKU (trước đây gọi là Perl_6)Raku (formerly known as Perl_6) 4Đầu vào mẫu: 5Đầu ra mẫu: 6Lưu ý, bạn có thể nhận được thông tin sâu rộng về các trận đấu bằng mã sau: 7Hoặc đơn giản hơn, bạn chỉ có thể hình dung các không gian trống thay thế: 8https://docs.raku.org/language/regexes#unicode_properies https://www.codesections.com/blog/raku-unicode/ https://raku.org Đã trả lời ngày 19 tháng 6 lúc 2:41Jun 19 at 2:41
jubilatious1jubilatious1jubilatious1 1.4156 huy hiệu bạc15 huy hiệu đồng6 silver badges15 bronze badges 1 Vấn đề của tôi là chuỗi của tôi chứa những thứ như 8 cho Bỉë và 9 cho dấu hiệu €. Và tôi không muốn thay thế chúng bằng không gian. Nhưng wth là biểu tượng đúng chính nó.Giải pháp của tôi là 0Đã trả lời ngày 10 tháng 6 năm 2021 lúc 10:21Jun 10, 2021 at 10:21
Smoquetsmoquetsmoquet 2411 Huy hiệu bạc10 Huy hiệu đồng1 silver badge10 bronze badges 9Và gọi nó như thế này: 0Đã trả lời ngày 23 tháng 9 lúc 14:35Sep 23 at 14:35
1 Có khả năng cho một câu hỏi khác, nhưng tôi đang cung cấp phiên bản câu trả lời của @alvero (sử dụng unidecode). Tôi muốn thực hiện một dải "thông thường" trên các chuỗi của mình, tức là đầu và cuối chuỗi của tôi cho các ký tự khoảng trắng, sau đó chỉ thay thế các ký tự khoảng trắng khác bằng không gian "thông thường", tức là. 1đến 2Thì 3Trước tiên chúng tôi thay thế tất cả các không gian không phải là không thể sử dụng bằng một không gian thông thường (và tham gia lại), 4Và sau đó chúng tôi chia nó một lần nữa, với sự chia rẽ bình thường của Python và loại bỏ từng "bit", 5Và cuối cùng tham gia lại những người đó trở lại, nhưng chỉ khi chuỗi vượt qua bài kiểm tra 1, 6Và với điều đó, 2 trả về chính xác 3.Đã trả lời ngày 8 tháng 4 năm 2019 lúc 15:03Apr 8, 2019 at 15:03
seadersseadersseaders 3.6613 huy hiệu vàng38 Huy hiệu bạc62 Huy hiệu đồng3 gold badges38 silver badges62 bronze badges Để thay thế tất cả các ký tự không phải ASCII (\ x00- \ x7F) bằng một khoảng trống: 7Để thay thế tất cả các ký tự có thể nhìn thấy, hãy thử điều này: 8Điều này sẽ cho kết quả tương tự: 9Đã trả lời ngày 6 tháng 12 năm 2021 lúc 21:01Dec 6, 2021 at 21:01
Làm cách nào để loại bỏ giá trị ASCII trong Python?Để xóa các ký tự không phải ASCII khỏi một chuỗi:.. Sử dụng str. Phương thức mã hóa () để mã hóa chuỗi bằng mã hóa ASCII .. Đặt đối số lỗi thành bỏ qua, vì vậy tất cả các ký tự không phải ASCII bị bỏ .. Sử dụng các byte. Phương thức Decode () để chuyển đổi đối tượng byte thành chuỗi .. Làm cách nào để loại bỏ các ký tự đặc biệt khỏi một chuỗi trong Python?Nhưng bằng cách sử dụng hàm ord (), hàm này trả về unicode của một ký tự.Điều này có thể được sử dụng để loại bỏ một ký tự khỏi một chuỗi.by using the ord() function, this function returns the Unicode of a character. This can be used to remove a character from a string.
Làm cách nào để in khôngSử dụng repr (obj) thay vì str (obj).repr () sẽ chuyển đổi kết quả thành ASCII, thoát đúng mọi thứ không có trong phạm vi mã ASCII.Việc mã hóa tệp nguồn không liên quan gì đến những gì str () hỗ trợ.str () chỉ hỗ trợ các ký tự unicode trong py3K, do đó, sử dụng repr () hoặc unicode () ở mọi nơi. . repr() will convert the result to ASCII, properly escaping everything that isn't in the ASCII code range. The encoding of the source file has nothing to do with what str() supports. str() only supports unicode characters in py3k, so either use repr() or unicode() everywhere.
Làm cách nào để loại bỏ các ký tự unicode khỏi chuỗi?Làm thế nào để tôi thoát khỏi Unicode ?.. Sử dụng phương thức encode () và decode () .. Sử dụng phương thức thay thế () để xóa các ký tự unicode .. Sử dụng ký tự.phương thức isalnum () để loại bỏ các ký tự đặc biệt trong Python .. Sử dụng biểu thức chính quy để loại bỏ các ký tự unicode cụ thể trong Python .. |