Làm cách nào để xóa các chữ số khỏi một số trong python?

Trong bài viết này, chúng ta sẽ thảo luận về các cách khác nhau để xóa các ký tự trừ chữ số khỏi chuỗi trong Python

Xóa tất cả các số khỏi chuỗi bằng regex

Mô-đun regex Python cung cấp hàm sub() i. e

re.sub(pattern, repl, string, count=0, flags=0)

Nó trả về một chuỗi mới. Chuỗi mới này có được bằng cách thay thế tất cả các lần xuất hiện của mẫu đã cho trong chuỗi bằng chuỗi thay thế repl. Nếu không tìm thấy mẫu trong chuỗi, thì nó sẽ trả về cùng một chuỗi

Hãy sử dụng điều này để xóa tất cả các số hoặc chữ số khỏi chuỗi trong python,

quảng cáo

import re

org_string = "Sample 11 String 42 -In 2020"

pattern = r'[0-9]'
# Match all digits in the string and replace them by empty string
mod_string = re.sub(pattern, '', org_string)

print(mod_string)

đầu ra

Sample  String  -In

Ở đây, chúng tôi đã chuyển một mẫu r'[0-9]’ & một chuỗi rỗng làm chuỗi thay thế cho hàm sub(). Mẫu này khớp tất cả các chữ số trong chuỗi gốc và hàm sub() đã thay thế tất cả các chữ số khớp bằng một chuỗi trống

Vì vậy, đây là cách chúng ta có thể xóa tất cả các số/chữ số khỏi một chuỗi bằng cách sử dụng regex trong python

Xóa tất cả các số khỏi chuỗi bằng cách sử dụng biểu thức nối () và Trình tạo

Lặp lại tất cả các ký tự trong chuỗi bằng cách sử dụng vòng lặp for trong biểu thức trình tạo. Bỏ qua tất cả các ký tự chữ số và nối các ký tự còn lại để tạo một chuỗi mới i. e

org_string = "Sample 11 String 42 -In 2020"

# Iterate over the characters in string and join all characters except
# digits, to create a new string.
mod_string = ''.join((item for item in org_string if not item.isdigit()))

print(mod_string)

đầu ra

Sample  String  -In

Nó đã xóa tất cả các số/chữ số khỏi chuỗi

Xóa tất cả các số khỏi chuỗi bằng translate()

Tạo một bảng dịch trong đó mỗi ký tự chữ số i. e. '0' đến '9' sẽ được ánh xạ tới Không và chuyển bảng dịch này sang hàm translate() i. e

import string

org_string = "Sample 11 String 42 -In 2020"

# Create a translation table, where all digits are mapped to None
translation_table = str.maketrans('', '', string.digits)

# replace characters in string based on translation table, so it will
# delete all numbers / digits from the string
mod_string = org_string.translate(translation_table)

print(mod_string)

đầu ra

Sample  String  -In

Nó đã xóa tất cả các số/chữ số khỏi chuỗi

Nó đã hoạt động như thế nào?

Hàm maketrans() tạo bảng dịch được sử dụng bởi hàm translate(). Nếu chúng ta chuyển 2 đối số đầu tiên dưới dạng trống và một chuỗi trong đối số thứ ba, thì tất cả các ký tự trong đối số thứ ba sẽ được ánh xạ tới Không. Vì vậy, chúng tôi đã tạo một bảng dịch bằng cách sử dụng hàm maketrans(), trong đó tất cả các chữ số được ánh xạ tới Không i. e

# Create a translation table, where all digits are mapped to None
translation_table = str.maketrans('', '', string.digits)

Nội dung của translate_table là,

________số 8

Bây giờ chúng tôi đã chuyển bảng dịch này sang hàm translate(), thay thế tất cả các chữ số trong chuỗi thành Không dựa trên bảng dịch của chúng tôi. Vì vậy, đây là cách chúng ta có thể xóa tất cả các số/chữ số trong một chuỗi trong python bằng hàm translate()

Xóa tất cả các số khỏi chuỗi bằng bộ lọc () và tham gia ()

Lọc tất cả các ký tự chữ số từ một chuỗi và nối các ký tự còn lại để tạo một chuỗi mới i. e

org_string = "Sample 11 String 42 -In 2020"

# Filter all digits from characters in string & join remaining characters
mod_string = ''.join(filter(lambda item: not item.isdigit(), org_string))

print(mod_string)

đầu ra

Sample  String  -In

Nó đã xóa tất cả các số/chữ số khỏi chuỗi

Nó đã hoạt động như thế nào?

Chúng tôi đã chuyển một hàm lambda và chuỗi gốc cho hàm filter(). Hàm Filter() được lặp lại trên tất cả các ký tự trong chuỗi và gọi hàm lambda đã cho trên mỗi ký tự. Nó trả về các ký tự mà hàm lambda của chúng tôi trả về Sai. Sau đó, chúng tôi đã nối lại tất cả các ký tự đã lọc đó để tạo một chuỗi mới. Vì vậy, về cơ bản, đầu tiên chúng tôi lọc tất cả các ký tự chữ số từ một chuỗi và sau đó nối tất cả các ký tự còn lại

Đây là 3 cách khác nhau để xóa tất cả các chữ số hoặc số khỏi một chuỗi trong python

Ví dụ đầy đủ như sau,

import re

org_string = "Sample 11 String 42 -In 2020"

pattern = r'[0-9]'
# Match all digits in the string and replace them by empty string
mod_string = re.sub(pattern, '', org_string)

print(mod_string)
1

đầu ra

import re

org_string = "Sample 11 String 42 -In 2020"

pattern = r'[0-9]'
# Match all digits in the string and replace them by empty string
mod_string = re.sub(pattern, '', org_string)

print(mod_string)
2

Hướng dẫn về Pandas -Tìm hiểu Phân tích dữ liệu với Python

 
  • Hướng dẫn Pandas Phần #1 - Giới thiệu về Phân tích dữ liệu với Python
  • Hướng dẫn Pandas Phần #2 - Khái niệm cơ bản về Pandas Series
  • Hướng dẫn Pandas Phần #3 - Nhận & Đặt giá trị chuỗi
  • Pandas Tutorial Part #4 - Thuộc tính & phương thức của Pandas Series
  • Hướng dẫn về Pandas Phần #5 - Thêm hoặc xóa các thành phần của Pandas Series
  • Hướng dẫn về Pandas Phần #6 - Giới thiệu về DataFrame
  • Hướng dẫn về Pandas Phần #7 - DataFrame. loc[] - Chọn Hàng/Cột theo Lập chỉ mục
  • Hướng dẫn về Pandas Phần #8 - DataFrame. iloc[] - Chọn Hàng/Cột theo Tên nhãn
  • Hướng dẫn về gấu trúc Phần #9 - Lọc các hàng trong khung dữ liệu
  • Hướng dẫn Pandas Phần #10 - Thêm/Xóa Hàng & Cột DataFrame
  • Hướng dẫn về Pandas Phần #11 - Các thuộc tính & phương thức DataFrame
  • Hướng dẫn Pandas Phần #12 - Xử lý dữ liệu bị thiếu hoặc giá trị NaN
  • Hướng dẫn về Pandas Phần #13 - Lặp lại các Hàng & Cột của DataFrame
  • Hướng dẫn Pandas Phần #14 - Sắp xếp DataFrame theo Hàng hoặc Cột
  • Hướng dẫn về gấu trúc Phần #15 - Hợp nhất hoặc ghép các khung dữ liệu
  • Hướng dẫn về Pandas Phần #16 - DataFrame GroupBy được giải thích bằng các ví dụ
 

Bạn đang muốn tạo dựng sự nghiệp trong Khoa học dữ liệu với Python?

Khoa học dữ liệu là tương lai và tương lai là ở đây ngay bây giờ. Các nhà khoa học dữ liệu hiện là những chuyên gia được tìm kiếm nhiều nhất hiện nay. Để trở thành một Nhà khoa học dữ liệu giỏi hoặc để chuyển đổi nghề nghiệp trong Khoa học dữ liệu, người ta phải sở hữu bộ kỹ năng phù hợp. Chúng tôi đã tuyển chọn danh sách Chứng chỉ chuyên nghiệp tốt nhất về Khoa học dữ liệu với Python. Các khóa học này sẽ dạy cho bạn các công cụ lập trình cho Khoa học dữ liệu như Pandas, NumPy, Matplotlib, Seaborn và cách sử dụng các thư viện này để triển khai các mô hình Máy học

Kiểm tra Đánh giá chi tiết về Chứng chỉ chuyên nghiệp tốt nhất về Khoa học dữ liệu với Python

Hãy nhớ rằng, Khoa học dữ liệu đòi hỏi rất nhiều kiên nhẫn, bền bỉ và thực hành. Vì vậy, hãy bắt đầu học ngay hôm nay