Hướng dẫn how do i remove special symbols from a list in python? - làm cách nào để xóa các ký hiệu đặc biệt khỏi danh sách trong python?

Tôi có một danh sách các yếu tố chứa các ký tự đặc biệt. Tôi muốn chuyển đổi danh sách thành các ký tự chữ và số. Không có ký tự đặc biệt. my_list = ["on@3", "hai#", "thre%e"]]

đầu ra mong đợi của tôi là,

out_list = ["one","two","three"]

Tôi không thể đơn giản áp dụng

['on3', 'two', 'three']
1 cho các mặt hàng này, xin vui lòng giúp đỡ.

Hướng dẫn how do i remove special symbols from a list in python? - làm cách nào để xóa các ký hiệu đặc biệt khỏi danh sách trong python?

Đã hỏi ngày 15 tháng 11 năm 2017 lúc 7:36Nov 15, 2017 at 7:36

3

Đây là một giải pháp khác:

import re
my_list= ["on@3", "two#", "thre%e"]
print [re.sub('[^a-zA-Z0-9]+', '', _) for _ in my_list]

output:

['on3', 'two', 'three']

Đã trả lời ngày 15 tháng 11 năm 2017 lúc 7:46Nov 15, 2017 at 7:46

Hướng dẫn how do i remove special symbols from a list in python? - làm cách nào để xóa các ký hiệu đặc biệt khỏi danh sách trong python?

Mahesh Kariamahesh KariaMahesh Karia

2.0351 Huy hiệu vàng11 Huy hiệu bạc21 Huy hiệu đồng1 gold badge11 silver badges21 bronze badges

Sử dụng phương thức

['on3', 'two', 'three']
2 để áp dụng cùng một bảng dịch cho tất cả các chuỗi:

removetable = str.maketrans('', '', '@#%')
out_list = [s.translate(removetable) for s in my_list]

Phương pháp tĩnh

['on3', 'two', 'three']
3 là một công cụ hữu ích để tạo ra bản đồ dịch; Hai đối số đầu tiên là các chuỗi trống vì bạn không thay thế các ký tự, chỉ xóa. Chuỗi thứ ba chứa tất cả các ký tự bạn muốn xóa.

Demo:

>>> my_list = ["on@3", "two#", "thre%e"]
>>> removetable = str.maketrans('', '', '@#%')
>>> [s.translate(removetable) for s in my_list]
['on3', 'two', 'three']

Đã trả lời ngày 15 tháng 11 năm 2017 lúc 7:43Nov 15, 2017 at 7:43

Martijn Pieters ♦ Martijn PietersMartijn Pieters

995K277 Huy hiệu vàng3919 Huy hiệu bạc3261 Huy hiệu Đồng277 gold badges3919 silver badges3261 bronze badges

3

thử cái này:

l_in = ["on@3", "two#", "thre%e"]
l_out = [''.join(e for e in string if e.isalnum()) for string in l_in]
print l_out
>['on3', 'two', 'three']

Đã trả lời ngày 15 tháng 11 năm 2017 lúc 7:46Nov 15, 2017 at 7:46

Mahesh Kariamahesh Karia

l = ['@','#','%']
out_list = []
for x in my_list:
    for y in l:
        if y in x:
            x = x.replace(y,'')
            out_list.append(x)
            break

2.0351 Huy hiệu vàng11 Huy hiệu bạc21 Huy hiệu đồng

out_list = [ x.replace(y,'')  for x in my_list for y in l if y in x ]

Sử dụng phương thức

['on3', 'two', 'three']
2 để áp dụng cùng một bảng dịch cho tất cả các chuỗi:

Phương pháp tĩnh

['on3', 'two', 'three']
3 là một công cụ hữu ích để tạo ra bản đồ dịch; Hai đối số đầu tiên là các chuỗi trống vì bạn không thay thế các ký tự, chỉ xóa. Chuỗi thứ ba chứa tất cả các ký tự bạn muốn xóa.Nov 15, 2017 at 7:39

Hướng dẫn how do i remove special symbols from a list in python? - làm cách nào để xóa các ký hiệu đặc biệt khỏi danh sách trong python?

Đã trả lời ngày 15 tháng 11 năm 2017 lúc 7:43Van Peer

Martijn Pieters ♦ Martijn Pieters2 gold badges22 silver badges34 bronze badges

5

Trong hướng dẫn này, chúng tôi sẽ giải quyết một chương trình về cách xóa các ký tự đặc biệt khỏi chuỗi Python. & NBSP;how to remove special characters from string Python

  • Cách xóa các ký tự đặc biệt khỏi chuỗi Python (bao gồm cả không gian)
    • Phương pháp 1 - Sử dụng phương thức isalmun ()
    • Phương pháp 2 - Sử dụng phương thức thay thế ()
    • Phương pháp 3 - Sử dụng Filter ()
    • Phương pháp 4 - Sử dụng chức năng Join + Generator
  • Cách xóa các ký tự đặc biệt khỏi chuỗi python ngoại trừ không gian
    • Phương pháp 1 - Sử dụng isalnum ()
    • Phương pháp 2 - Sử dụng biểu thức regex
  • Sự kết luận

Chúng tôi sẽ giải quyết tuyên bố vấn đề trên theo 4 cách khác nhau.

Phương pháp 1 - Sử dụng phương thức isalmun ()

Phương pháp 2 - Sử dụng phương thức thay thế () return True if all the characters in the string are alphanumeric. Alphanumeric characters meaning the character can alphabet(a-z) or it can be a number(0-9). And it returns false if a string contains the non-alphanumeric character such as @, !, #, $, %, &, space, etc.

Example:

s = "TheProblemSeeker10"
print(s.isalnum())

Phương pháp 3 - Sử dụng Filter (): True

Phương pháp 4 - Sử dụng chức năng Join + Generator

Cách xóa các ký tự đặc biệt khỏi chuỗi python ngoại trừ không gian

  1. Phương pháp 1 - Sử dụng isalnum ()
  2. Phương pháp 2 - Sử dụng biểu thức regex
  3. Sự kết luậnisalnum() method.
  4. Chúng tôi sẽ giải quyết tuyên bố vấn đề trên theo 4 cách khác nhau.
  5. Python isalnum () trả về đúng nếu tất cả các ký tự trong chuỗi là chữ và số. Các ký tự chữ và số có nghĩa là ký tự có thể bảng chữ cái (A-Z) hoặc nó có thể là một số (0-9). Và nó trả về false nếu một chuỗi chứa ký tự không phải là số đồng âm như @,!, #, $, %, &, Space, v.v.

Đầu ra: Đúng

#define input string
input_string = "The Problem [email protected]"
final_string = "" #define string for ouput
for character in input_string:
    if(character.isalnum()):
        # if character is alphanumeric concat to final_string
        final_string = final_string + character
print("Sample String:", input_string)
print("Final String:", final_string)

Output::

import re
my_list= ["on@3", "two#", "thre%e"]
print [re.sub('[^a-zA-Z0-9]+', '', _) for _ in my_list]
0

Phương pháp 2 - Sử dụng phương thức thay thế ()

Phương pháp 3 - Sử dụng Filter ()

Phương pháp 4 - Sử dụng chức năng Join + Generator

import re
my_list= ["on@3", "two#", "thre%e"]
print [re.sub('[^a-zA-Z0-9]+', '', _) for _ in my_list]
1

Output::

import re
my_list= ["on@3", "two#", "thre%e"]
print [re.sub('[^a-zA-Z0-9]+', '', _) for _ in my_list]
0

Phương pháp 3 - Sử dụng Filter ()

Phương pháp 4 - Sử dụng chức năng Join + Generator

Phương pháp 4 - Sử dụng chức năng Join + Generator

import re
my_list= ["on@3", "two#", "thre%e"]
print [re.sub('[^a-zA-Z0-9]+', '', _) for _ in my_list]
3

Output:

import re
my_list= ["on@3", "two#", "thre%e"]
print [re.sub('[^a-zA-Z0-9]+', '', _) for _ in my_list]
0

Phương pháp 4 - Sử dụng chức năng Join + Generator

Cách xóa các ký tự đặc biệt khỏi chuỗi python ngoại trừ không gian

Phương pháp 4 - Sử dụng chức năng Join + Generator

import re
my_list= ["on@3", "two#", "thre%e"]
print [re.sub('[^a-zA-Z0-9]+', '', _) for _ in my_list]
3

Output:

import re
my_list= ["on@3", "two#", "thre%e"]
print [re.sub('[^a-zA-Z0-9]+', '', _) for _ in my_list]
0

Cách xóa các ký tự đặc biệt khỏi chuỗi python ngoại trừ không gian

Phương pháp 1 - Sử dụng isalnum ()

Phương pháp 1 - Sử dụng isalnum ()

Phương pháp 2 - Sử dụng biểu thức regex

Sự kết luận

  1. Phương pháp 1 - Sử dụng isalnum ()
  2. Phương pháp 2 - Sử dụng biểu thức regex
  3. Sự kết luận
  4. Chúng tôi sẽ giải quyết tuyên bố vấn đề trên theo 4 cách khác nhau.
  5. Python isalnum () trả về đúng nếu tất cả các ký tự trong chuỗi là chữ và số. Các ký tự chữ và số có nghĩa là ký tự có thể bảng chữ cái (A-Z) hoặc nó có thể là một số (0-9). Và nó trả về false nếu một chuỗi chứa ký tự không phải là số đồng âm như @,!, #, $, %, &, Space, v.v.isalnum() method.
  6. Chúng tôi sẽ giải quyết tuyên bố vấn đề trên theo 4 cách khác nhau.
  7. Python isalnum () trả về đúng nếu tất cả các ký tự trong chuỗi là chữ và số. Các ký tự chữ và số có nghĩa là ký tự có thể bảng chữ cái (A-Z) hoặc nó có thể là một số (0-9). Và nó trả về false nếu một chuỗi chứa ký tự không phải là số đồng âm như @,!, #, $, %, &, Space, v.v.

Phương pháp 4 - Sử dụng chức năng Join + Generator

import re
my_list= ["on@3", "two#", "thre%e"]
print [re.sub('[^a-zA-Z0-9]+', '', _) for _ in my_list]
7

Output::

Cách xóa các ký tự đặc biệt khỏi chuỗi python ngoại trừ không gian

Phương pháp 2 - Sử dụng biểu thức regex

Sự kết luận[^A-Za-z0-9]+

Chúng tôi sẽ giải quyết tuyên bố vấn đề trên theo 4 cách khác nhau.

Phương pháp 4 - Sử dụng chức năng Join + Generator

import re
my_list= ["on@3", "two#", "thre%e"]
print [re.sub('[^a-zA-Z0-9]+', '', _) for _ in my_list]
9

Output::

['on3', 'two', 'three']
0

Sự kết luận

Chúng tôi sẽ giải quyết tuyên bố vấn đề trên theo 4 cách khác nhau.isalnum(), replace() methods we can remove special characters from string python including space.

Python isalnum () trả về đúng nếu tất cả các ký tự trong chuỗi là chữ và số. Các ký tự chữ và số có nghĩa là ký tự có thể bảng chữ cái (A-Z) hoặc nó có thể là một số (0-9). Và nó trả về false nếu một chuỗi chứa ký tự không phải là số đồng âm như @,!, #, $, %, &, Space, v.v.regex expression and isalnum() method.

Làm thế nào để bạn loại bỏ các ký hiệu trong Python?

Loại bỏ 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.thay thế () 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.

Làm cách nào để xóa số và ký tự đặc biệt khỏi danh sách trong Python?

Xác định tất cả các ký tự đặc biệt trong một chuỗi và sau đó lặp lại danh sách cần thiết thông qua vòng lặp để xóa các ký tự đặc biệt trong Python..

Làm thế nào để bạn bỏ qua một nhân vật đặc biệt trong Python?

Để làm điều này, chỉ cần thêm một dấu gạch chéo ngược (\) trước nhân vật bạn muốn trốn thoát.add a backslash ( \ ) before the character you want to escape.