Hướng dẫn remove symbols from string python - xóa các ký hiệu khỏi chuỗi python

Tôi là người mới bắt đầu với cả Python và Regex, và tôi muốn biết cách tạo một chuỗi lấy các biểu tượng và thay thế chúng bằng khoảng trắng. Bất kỳ sự giúp đỡ là tuyệt vời.

Ví dụ:

how much for the maple syrup? $20.99? That's ricidulous!!!

into:

how much for the maple syrup 20 99 That s ridiculous

Khi được hỏi ngày 18 tháng 5 năm 2009 lúc 1:55May 18, 2009 at 1:55

Hướng dẫn remove symbols from string python - xóa các ký hiệu khỏi chuỗi python

2

Một cách, sử dụng các biểu thức thông thường:

>>> s = "how much for the maple syrup? $20.99? That's ridiculous!!!"
>>> re.sub(r'[^\w]', ' ', s)
'how much for the maple syrup   20 99  That s ridiculous   '
  • how much for the maple syrup 20 99 That s ridiculous
    
    4 sẽ phù hợp với các ký tự chữ và số và nhấn mạnh

  • how much for the maple syrup 20 99 That s ridiculous
    
    5 sẽ phù hợp với bất cứ thứ gì không phải là chữ và số

Hướng dẫn remove symbols from string python - xóa các ký hiệu khỏi chuỗi python

Đá xanh

7.7286 huy hiệu vàng31 Huy hiệu bạc51 Huy hiệu đồng6 gold badges31 silver badges51 bronze badges

Đã trả lời ngày 18 tháng 5 năm 2009 lúc 1:59May 18, 2009 at 1:59

dF.dF.dF.

72.3K29 Huy hiệu vàng128 Huy hiệu bạc135 Huy hiệu đồng29 gold badges128 silver badges135 bronze badges

5

Đôi khi phải mất nhiều thời gian hơn để tìm ra regex hơn là chỉ viết nó ra trong Python:

import string
s = "how much for the maple syrup? $20.99? That's ricidulous!!!"
for char in string.punctuation:
    s = s.replace(char, ' ')

Nếu bạn cần các ký tự khác, bạn có thể thay đổi nó để sử dụng danh sách trắng hoặc mở rộng danh sách đen của bạn.

Danh sách trắng mẫu:

whitelist = string.letters + string.digits + ' '
new_s = ''
for char in s:
    if char in whitelist:
        new_s += char
    else:
        new_s += ' '

Danh sách trắng mẫu bằng cách sử dụng biểu thức máy phát:

whitelist = string.letters + string.digits + ' '
new_s = ''.join(c for c in s if c in whitelist)

Đã trả lời ngày 18 tháng 5 năm 2009 lúc 9:24May 18, 2009 at 9:24

Hướng dẫn remove symbols from string python - xóa các ký hiệu khỏi chuỗi python

Monkutmonkutmonkut

40.4K23 Huy hiệu vàng119 Huy hiệu bạc148 Huy hiệu đồng23 gold badges119 silver badges148 bronze badges

2

Tôi thường chỉ mở bảng điều khiển và tìm kiếm giải pháp trong các phương thức đối tượng. Thường thì nó đã ở đó:

>>> a = "hello ' s"
>>> dir(a)
[ (....) 'partition', 'replace' (....)]
>>> a.replace("'", " ")
'hello   s'

Câu trả lời ngắn gọn: Sử dụng

how much for the maple syrup 20 99 That s ridiculous
6.

Nathan

3.7392 Huy hiệu vàng19 Huy hiệu bạc21 Huy hiệu đồng2 gold badges19 silver badges21 bronze badges

Đã trả lời ngày 18 tháng 5 năm 2009 lúc 5:45May 18, 2009 at 5:45

Busterbusterbuster

Huy hiệu vàng 95111 gold badge8 silver badges15 bronze badges

1

Đôi khi chúng tôi muốn loại bỏ tất cả các lần xuất hiện của một ký tự khỏi một chuỗi. Có hai cách phổ biến để đạt được điều này.

Python loại bỏ ký tự khỏi chuỗi

  1. Sử dụng hàm thay thế chuỗi ()
  2. Sử dụng hàm dịch ()

Python loại bỏ ký tự khỏi chuỗi bằng cách sử dụng thay thế ()

Chúng ta có thể sử dụng hàm thay thế chuỗi () để thay thế một ký tự bằng một ký tự mới. Nếu chúng tôi cung cấp một chuỗi trống làm đối số thứ hai, thì ký tự sẽ bị xóa khỏi chuỗi. Lưu ý rằng chuỗi là bất biến trong Python, vì vậy hàm này sẽ trả về một chuỗi mới và chuỗi ban đầu sẽ không thay đổi.

s = 'abc12321cba'

print(s.replace('a', ''))

Đầu ra:

how much for the maple syrup 20 99 That s ridiculous
7

Python loại bỏ ký tự khỏi chuỗi bằng cách sử dụng dịch ()

Chức năng Python Chuỗi dịch () Thay thế từng ký tự trong chuỗi bằng bảng dịch đã cho. Chúng tôi phải chỉ định điểm mã Unicode cho ký tự và ‘không có cách thay thế để xóa nó khỏi chuỗi kết quả. Chúng ta có thể sử dụng hàm ord () để có được điểm mã unicode của một ký tự.

s = 'abc12321cba'

print(s.translate({ord('a'): None}))

Đầu ra:

how much for the maple syrup 20 99 That s ridiculous
7 Nếu bạn muốn thay thế nhiều ký tự, điều đó có thể được thực hiện dễ dàng bằng cách sử dụng trình lặp. Hãy cùng xem cách loại bỏ các ký tự ‘A,’ B, và ‘C, khỏi một chuỗi.

s = 'abc12321cba'

print(s.translate({ord(i): None for i in 'abc'}))

Đầu ra:

how much for the maple syrup 20 99 That s ridiculous
9

Loại bỏ khoảng trắng khỏi chuỗi

how much for the maple syrup 20 99 That s ridiculous
0

Python loại bỏ dòng mới khỏi chuỗi

how much for the maple syrup 20 99 That s ridiculous
1

Xóa con khỏi chuỗi

Chuỗi thay thế () đối số hàm là chuỗi. Hãy để xem cách loại bỏ một từ khỏi một chuỗi.

how much for the maple syrup 20 99 That s ridiculous
2

Đầu ra:

>>> s = "how much for the maple syrup? $20.99? That's ridiculous!!!"
>>> re.sub(r'[^\w]', ' ', s)
'how much for the maple syrup   20 99  That s ridiculous   '
0

Xóa số lần được chỉ định

Chúng tôi cũng có thể vượt qua tham số thứ ba trong hàm thay thế () để chỉ định số lần thay thế nên được thực hiện.

how much for the maple syrup 20 99 That s ridiculous
3

Đầu ra:

>>> s = "how much for the maple syrup? $20.99? That's ridiculous!!!"
>>> re.sub(r'[^\w]', ' ', s)
'how much for the maple syrup   20 99  That s ridiculous   '
1

Bạn có thể kiểm tra toàn bộ tập lệnh Python và nhiều ví dụ về Python từ Kho lưu trữ GitHub của chúng tô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?

Sử dụng 'str. Thay thế (), chúng ta có thể thay thế một ký tự cụ thể. Nếu chúng ta muốn xóa ký tự cụ thể đó, hãy thay thế ký tự đó bằng một chuỗi trống. STR. Phương thức thay thế () sẽ thay thế tất cả các lần xuất hiện của ký tự cụ thể được đề cập.replace that character with an empty string. The str. replace() method will replace all occurrences of the specific character mentioned.

Làm cách nào để loại bỏ các biểu tượng không mong muốn 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 để loại bỏ một ký hiệu khỏi một chuỗi?

Sử dụng phương thức thay thế () để xóa tất cả các ký tự đặc biệt khỏi chuỗi, ví dụ:str.thay thế (/[^a-za-z0-9]/g, '');.Phương thức thay thế sẽ trả về một chuỗi mới không chứa bất kỳ ký tự đặc biệt nào.Đã sao chép!, e.g. str. replace(/[^a-zA-Z0-9 ]/g, ''); . The replace method will return a new string that doesn't contain any special characters. Copied!

Làm cách nào để loại bỏ các ký tự đặc biệt khỏi một chuỗi trong Python NLTK?

Loại bỏ các ký tự đặc biệt bao gồm các chuỗi sử dụng python isalnum.Python có một phương thức chuỗi đặc biệt,.isalnum (), trả về true nếu chuỗi là một ký tự alpha-numeric và trả về sai nếu không.Chúng ta có thể sử dụng điều này, để lặp qua một chuỗi và nối vào một chuỗi mới, chỉ có các ký tự alpha-numeric.