Hướng dẫn how do you exclude a special character in python? - làm cách nào để loại trừ một ký tự đặc biệt trong python?

Có cách nào tốt hơn để làm điều này?

Tôi muốn mã phát hiện số và ký tự đặc biệt và in:

"Không được phép" / "Các ký tự đặc biệt không được phép"

while True:
try:
    x = input('Enter an alphabet:')
except ValueError:
    print('sorry i do not understand that')
    continue
if x in ('1', '2','3','4','5','6','7','8','9','0'):
    print('Numbers not allowed')
    continue
else:
    break
if x in ('a', 'e', 'i', 'o', 'u'):
print ('{} is a vowel'.format(x))

elif x in ('A', 'E', 'I', 'O', 'U'):
print ('{} is a vowel in CAPS'.fotmat(x))
else:
print('{} is a consonant'.format(x))

Trong bài viết này, chúng tôi sẽ thảo luận về bốn cách khác nhau để xóa các ký tự đặc biệt khỏi một chuỗi trong Python.

Trong Python, các chuỗi là bất biến. Nó có nghĩa là chúng ta không thể thay đổi nội dung của nó. Nhưng chúng ta có thể tạo một chuỗi mới chỉ với một vài ký tự được chọn từ chuỗi gốc. Sau đó, chúng ta có thể gán lại chuỗi mới này cho biến ban đầu. Nó sẽ cho một hiệu ứng mà chuỗi đã được sửa đổi và các ký tự không mong muốn đã bị xóa khỏi nó.

Hãy cùng xem các cách khác nhau để xóa các ký tự đặc biệt khỏi chuỗi,

Trong Python, String.Punness từ mô -đun chuỗi chứa tất cả các ký tự đặc biệt, tức là.string.punctuation from string module contains all the special characters i.e.

r"""!"#$%&'()*+,-./:;<=>[email protected][\]^_`{|}~"""

Chúng ta có thể sử dụng điều này để tạo mẫu regex, sẽ phù hợp với tất cả các ký tự đặc biệt trong một chuỗi. Sau đó, sử dụng hàm sub () của mô -đun regex, chúng ta có thể thay thế tất cả các ký tự đặc biệt bằng một chuỗi trống. Hãy để hiểu với một ví dụ,regex pattern, that will match all the special characters in a string. Then using the sub() function of regex module, we can replace all the special characters with an empty string. Let’s understand with an example,

Quảng cáo

import string
import re

sample_str = "Test&[88]%%$$$#$%-+String"

# Create a regex pattern to match all special characters in string
pattern = r'[' + string.punctuation + ']'

# Remove special characters from the string
sample_str = re.sub(pattern, '', sample_str)

print(sample_str)

Output:

Test88String

Nó đã loại bỏ tất cả các ký tự đặc biệt khỏi chuỗi.

Cách tiếp cận khác:

Thay vì tìm kiếm các ký tự đặc biệt trong chuỗi và loại bỏ chúng. Chúng ta có thể tìm kiếm tất cả các ký tự chữ và số và xóa các ký tự còn lại. Ví dụ,

import re

sample_str = "Test&[88]%%$$$#$%-+String"

# Create a regex pattern to match all characters except letter or numbers
pattern = r'[^A-Za-z0-9]+'

# Remove special characters from the string
sample_str = re.sub(pattern, '', sample_str)

print(sample_str)

Output:

Test88String

Nó cũng loại bỏ tất cả các ký tự đặc biệt khỏi chuỗi.

Xóa các ký tự đặc biệt khỏi chuỗi bằng cách sử dụng danh sách hiểu và tham gia ()

Sử dụng danh sách hiểu, lặp lại tất cả các ký tự của chuỗi một và bỏ qua các ký tự không phải là các ký tự vô định. Nó trả về một danh sách các ký tự được lọc. Kết hợp các ký tự còn lại này bằng nối () và gán lại cho cùng một biến. Nó sẽ cho một hiệu ứng mà chúng tôi đã xóa tất cả các ký tự đặc biệt khỏi chuỗi. Ví dụ,

sample_str = "Test&[88]%%$$$#$%-+String"

# Remove special characters from a string
sample_str = ''.join(item for item in sample_str if item.isalnum())

print(sample_str)

Output:

Test88String

Nó cũng đã loại bỏ tất cả các ký tự spcecial khỏi chuỗi.

Xóa các ký tự đặc biệt khỏi chuỗi bằng bộ lọc ()

Trong Python, chúng ta có thể sử dụng hàm Filter () để lọc các ký tự đặc biệt từ một chuỗi. Các bước như sau,filter() function to filter out special characters from a string. Steps are as follows,

  • Cùng với chuỗi được sửa đổi, chuyển hàm isalpha () cho hàm filter (), làm đối số có điều kiện.isalpha() function to the filter() function, as the conditional argument.
  • Filter () Chức năng vòng lặp thông qua tất cả các ký tự của chuỗi và chỉ mang lại các ký tự mà hàm isalpha () trả về đúng, tất cả các ký tự ngoại trừ các ký tự đặc biệt.
  • Sử dụng hàm tham gia () để kết hợp tất cả các ký tự được trả về bởi hàm Filter ().
  • Gán lại chuỗi được nối được trả về bởi hàm nối () cho biến ban đầu. Nó sẽ cho một hiệu ứng mà chúng tôi đã xóa tất cả các ký tự đặc biệt khỏi chuỗi.

Ví dụ,

sample_str = "Test&[88]%%$$$#$%-+String"

# Remove special characters from a string
sample_str = ''.join(filter(str.isalnum, sample_str))

print(sample_str)

Output:

Test88String

Nó cũng loại bỏ tất cả các ký tự đặc biệt khỏi chuỗi.

Xóa các ký tự đặc biệt khỏi chuỗi bằng cách sử dụng danh sách hiểu và tham gia ()

Sử dụng danh sách hiểu, lặp lại tất cả các ký tự của chuỗi một và bỏ qua các ký tự không phải là các ký tự vô định. Nó trả về một danh sách các ký tự được lọc. Kết hợp các ký tự còn lại này bằng nối () và gán lại cho cùng một biến. Nó sẽ cho một hiệu ứng mà chúng tôi đã xóa tất cả các ký tự đặc biệt khỏi chuỗi. Ví dụ,translate(). It accepts a translation table as an argument and replaces the characters in string based on the mapping in the translation table. We can create a translation table, where each special character will be mapped to an empty string. For that we can use string.punctuation, that contains all the special characters and the maketrans() function that creates a translation table.

sample_str = "Test&[88]%%$$$#$%-+String"

# Remove special characters from a string
sample_str = ''.join(item for item in sample_str if item.isalnum())

print(sample_str)

r"""!"#$%&'()*+,-./:;<=>[email protected][\]^_`{|}~"""
0

Output:

Test88String

Nó cũng đã loại bỏ tất cả các ký tự spcecial khỏi chuỗi.

Summary:

Xóa các ký tự đặc biệt khỏi chuỗi bằng bộ lọc ()

Làm thế nào để bạn loại trừ các ký tự đặc biệt trong 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 thế nào để bạn xóa các ký tự đặc biệt khỏi một tệp văn bản trong Python?

Xóa ký hiệu khỏi chuỗi bằng cách sử dụng str.Phương thức Python String isalnum () kiểm tra xem tất cả các ký tự trong một chuỗi nhất định có phải là chữ và số hay không.Nó trả về một boolean là đúng - nếu tất cả các ký tự là chữ và khác hoặc sai - nếu một hoặc nhiều ký tự không phải là chữ và số.Python String isalnum() method checks whether all the characters in a given string are alphanumeric or not. It returns a boolean as True – If all the characters are alphanumeric or else false – If one or more characters are not alphanumeric.

Làm cách nào để loại bỏ một ký tự cụ thể khỏi danh sách trong Python?

Phương thức Remove () xóa phần tử khớp đầu tiên (được truyền dưới dạng đối số) khỏi danh sách.Phương thức pop () loại bỏ một phần tử tại một chỉ mục nhất định và cũng sẽ trả về mục đã xóa.Bạn cũng có thể sử dụng từ khóa DEL trong Python để xóa một phần tử hoặc lát khỏi danh sách.. The pop() method removes an element at a given index, and will also return the removed item. You can also use the del keyword in Python to remove an element or slice from a list.