Hướng dẫn how do you extract part of a number in python? - làm thế nào để bạn trích xuất một phần của một số trong python?

Điều này còn hơn một chút, nhưng bạn có thể mở rộng biểu thức regex để tính toán ký hiệu khoa học quá.

import re

# Format is [(, ), ...]
ss = [("apple-12.34 ba33na fanc-14.23e-2yapple+45e5+67.56E+3",
       ['-12.34', '33', '-14.23e-2', '+45e5', '+67.56E+3']),
      ('hello X42 I\'m a Y-32.35 string Z30',
       ['42', '-32.35', '30']),
      ('he33llo 42 I\'m a 32 string -30', 
       ['33', '42', '32', '-30']),
      ('h3110 23 cat 444.4 rabbit 11 2 dog', 
       ['3110', '23', '444.4', '11', '2']),
      ('hello 12 hi 89', 
       ['12', '89']),
      ('4', 
       ['4']),
      ('I like 74,600 commas not,500', 
       ['74,600', '500']),
      ('I like bad math 1+2=.001', 
       ['1', '+2', '.001'])]

for s, r in ss:
    rr = re.findall("[-+]?[.]?[\d]+(?:,\d\d\d)*[\.]?\d*(?:[eE][-+]?\d+)?", s)
    if rr == r:
        print('GOOD')
    else:
        print('WRONG', rr, 'should be', r)

Cho tất cả tốt!

Ngoài ra, bạn có thể nhìn vào Regex tích hợp keo AWS

Xin chào, Độc giả! Trong bài viết này, chúng tôi sẽ tập trung vào các cách để trích xuất các chữ số từ chuỗi Python. Vì vậy, hãy để chúng tôi bắt đầu.ways to extract digits from a Python String. So, let us get started.


1. Sử dụng hàm isDigit () để trích xuất các chữ số từ chuỗi python

Python cung cấp cho chúng tôi

inp_str = "Python4Journaldev"

print("Original String : " + inp_str) 
num = ""
for c in inp_str:
    if c.isdigit():
        num = num + c
print("Extracted numbers from the list : " + num) 

8 để kiểm tra sự hiện diện của các chữ số trong một chuỗi.

Hàm python isDigit () trả về true nếu chuỗi đầu vào chứa các ký tự chữ số trong đó.True if the input string contains digit characters in it.

Syntax::

Chúng tôi không cần chuyển bất kỳ tham số nào cho nó. Là một đầu ra, nó trả về đúng hoặc sai tùy thuộc vào sự hiện diện của các ký tự chữ số trong một chuỗi.

Ví dụ 1:

inp_str = "Python4Journaldev"

print("Original String : " + inp_str) 
num = ""
for c in inp_str:
    if c.isdigit():
        num = num + c
print("Extracted numbers from the list : " + num) 

Trong ví dụ này, chúng tôi đã lặp lại ký tự chuỗi đầu vào bằng ký tự bằng cách sử dụng một vòng lặp. Ngay khi hàm isDigit () gặp phải một chữ số, nó sẽ lưu trữ nó thành một biến chuỗi có tên ‘num.

Do đó, chúng ta thấy đầu ra như được hiển thị bên dưới

Output:

Original String : Python4Journaldev
Extracted numbers from the list : 4

Bây giờ, chúng ta thậm chí có thể sử dụng khả năng hiểu danh sách Python để câu lạc bộ chức năng lặp và idigit () thành một dòng.

Bằng cách này, các ký tự chữ số được lưu trữ vào danh sách ‘Num, như được hiển thị bên dưới:

Ví dụ 2:

inp_str = "Hey readers, we all are here be 4 the time!"


print("Original string : " + inp_str) 


num = [int(x) for x in inp_str.split() if x.isdigit()] 

 
print("The numbers list is : " + str(num)) 

Output:

Original string : Hey readers, we all are here be 4 the time!
The numbers list is : [4]


2. Sử dụng thư viện regex để trích xuất các chữ số

Thư viện biểu thức chính quy Python có tên ‘Thư viện Regex‘ cho phép chúng tôi phát hiện sự hiện diện của các ký tự cụ thể như chữ số, một số ký tự đặc biệt, v.v. từ một chuỗi.regex library‘ enables us to detect the presence of particular characters such as digits, some special characters, etc. from a string.

Chúng ta cần nhập thư viện Regex vào môi trường Python trước khi thực hiện bất kỳ bước nào nữa.

Hơn nữa, chúng tôi

inp_str = "Python4Journaldev"

print("Original String : " + inp_str) 
num = ""
for c in inp_str:
    if c.isdigit():
        num = num + c
print("Extracted numbers from the list : " + num) 

9 để trích xuất các ký tự chữ số từ chuỗi. Phần ‘\ d+, sẽ giúp hàm findall () để phát hiện sự hiện diện của bất kỳ chữ số nào.‘\d+’ would help the findall() function to detect the presence of any digit.

Example:

import re
inp_str = "Hey readers, we all are here be 4 the time 1!"


print("Original string : " + inp_str) 

num = re.findall(r'\d+', inp_str) 

print(num)

Vì vậy, như đã thấy dưới đây, chúng tôi sẽ nhận được một danh sách tất cả các ký tự chữ số từ chuỗi.

Output:

Original string : Hey readers, we all are here be 4 the time 1!
['4', '1']


Sự kết luận

Bằng cách này, chúng tôi đã đi đến cuối chủ đề này. Hãy bình luận bên dưới, trong trường hợp bạn bắt gặp bất kỳ câu hỏi.

Tôi khuyên tất cả các bạn nên thử triển khai các ví dụ trên bằng các cấu trúc dữ liệu như danh sách, dict, v.v.

Để biết thêm các bài viết như vậy liên quan đến Python, hãy theo dõi và cho đến lúc đó, học hỏi hạnh phúc !! 🙂

Hướng dẫn how do you extract part of a number in python? - làm thế nào để bạn trích xuất một phần của một số trong python?

Trong bài viết này, chúng tôi sẽ học cách trích xuất các số từ một chuỗi nhất định trong Python.

Mục lục

  • Chuỗi trong Python là gì
  • Trích xuất số từ chuỗi bằng isDigit () trong danh sách hiểu:
  • Trích xuất số từ chuỗi bằng phương thức re.findall ()
  • Trích xuất số từ chuỗi bằng phương thức Split () và append ():
  • Trích xuất số từ chuỗi bằng thư viện NUMS_FROM_STRING:

Chuỗi trong Python là gì

Trích xuất số từ chuỗi bằng isDigit () trong danh sách hiểu:

Trích xuất số từ chuỗi bằng phương thức re.findall ()

string_var = 'MSD scored 10773  runs in ODI cricket at the avg of 50 in 350 matched.'

# type() will print data type of string_var
print(type(string_var))

Trích xuất số từ chuỗi bằng phương thức Split () và append ():

Trích xuất số từ chuỗi bằng thư viện NUMS_FROM_STRING:

Một chuỗi là một mảng các byte đại diện cho các ký tự unicode được đặt trong các trích dẫn đơn, đôi hoặc ba. Các ký tự kèm theo có thể là các chữ số, bảng chữ cái hoặc ký hiệu đặc biệt. Một chuỗi chỉ là một văn bản bình thường và có thể đọc được con người. Chuỗi là bất biến trong Python. Nó có nghĩa là một khi một đối tượng chuỗi được xác định thì nó không thể thay đổi.

Ở đây chúng tôi sẽ có một chuỗi được tạo thành từ các số và bảng chữ cái,

Đầu ra: is a condition based shorter syntax through which you can filter values in a new list. Here in this method,

  • Quảng cáo
  • Bạn có thể thấy chúng tôi có một chuỗi với một số số trong đó. Công việc của chúng tôi là trích xuất những con số đó bằng ngôn ngữ lập trình Python.
  • Trong phương pháp này, chúng tôi sẽ sử dụng kết hợp ba phương pháp khác nhau để trích xuất số từ một chuỗi đã cho. Phương thức hiểu danh sách, phương thức isDigit () và phương thức chia () là ba phương thức khác nhau.

Danh sách hiểu là một cú pháp ngắn hơn dựa trên điều kiện thông qua đó bạn có thể lọc các giá trị trong danh sách mới. Ở đây trong phương pháp này,

Phương thức chia () chuyển đổi chuỗi thành danh sách các chuỗi con.

string_var = 'MSD scored 10773  runs in ODI cricket at the avg of 50.58 in 350 matched.'

numbers = [int(new_string) for new_string in str.split(string_var) if new_string.isdigit()]

print(numbers)

# type() will print data type of string_var
print(type(numbers))

Trích xuất số từ chuỗi bằng phương thức Split () và append ():

inp_str = "Python4Journaldev"

print("Original String : " + inp_str) 
num = ""
for c in inp_str:
    if c.isdigit():
        num = num + c
print("Extracted numbers from the list : " + num) 

0

Trích xuất số từ chuỗi bằng thư viện NUMS_FROM_STRING:

Một chuỗi là một mảng các byte đại diện cho các ký tự unicode được đặt trong các trích dẫn đơn, đôi hoặc ba. Các ký tự kèm theo có thể là các chữ số, bảng chữ cái hoặc ký hiệu đặc biệt. Một chuỗi chỉ là một văn bản bình thường và có thể đọc được con người. Chuỗi là bất biến trong Python. Nó có nghĩa là một khi một đối tượng chuỗi được xác định thì nó không thể thay đổi.re module stands for Regular Expression, which comes bundled with python library.

Ở đây chúng tôi sẽ có một chuỗi được tạo thành từ các số và bảng chữ cái,

Phương thức chia () chuyển đổi chuỗi thành danh sách các chuỗi con.

inp_str = "Python4Journaldev"

print("Original String : " + inp_str) 
num = ""
for c in inp_str:
    if c.isdigit():
        num = num + c
print("Extracted numbers from the list : " + num) 

1

Trích xuất số từ chuỗi bằng phương thức Split () và append ():

inp_str = "Python4Journaldev"

print("Original String : " + inp_str) 
num = ""
for c in inp_str:
    if c.isdigit():
        num = num + c
print("Extracted numbers from the list : " + num) 

2

Trích xuất số từ chuỗi bằng thư viện NUMS_FROM_STRING:

Trích xuất số từ chuỗi bằng phương thức Split () và append ():

Trích xuất số từ chuỗi bằng thư viện NUMS_FROM_STRING:

  • Một chuỗi là một mảng các byte đại diện cho các ký tự unicode được đặt trong các trích dẫn đơn, đôi hoặc ba. Các ký tự kèm theo có thể là các chữ số, bảng chữ cái hoặc ký hiệu đặc biệt. Một chuỗi chỉ là một văn bản bình thường và có thể đọc được con người. Chuỗi là bất biến trong Python. Nó có nghĩa là một khi một đối tượng chuỗi được xác định thì nó không thể thay đổi. A built in function of python used to split string into a list.
  • Ở đây chúng tôi sẽ có một chuỗi được tạo thành từ các số và bảng chữ cái, Built in function of python used to add an item to the end of a list.

Đầu ra:

Phương thức chia () chuyển đổi chuỗi thành danh sách các chuỗi con.

inp_str = "Python4Journaldev"

print("Original String : " + inp_str) 
num = ""
for c in inp_str:
    if c.isdigit():
        num = num + c
print("Extracted numbers from the list : " + num) 

3

Trích xuất số từ chuỗi bằng phương thức Split () và append ():

inp_str = "Python4Journaldev"

print("Original String : " + inp_str) 
num = ""
for c in inp_str:
    if c.isdigit():
        num = num + c
print("Extracted numbers from the list : " + num) 

2

Trích xuất số từ chuỗi bằng thư viện NUMS_FROM_STRING:ValueError. If try and except are not used here, then it will throw an error like this:

inp_str = "Python4Journaldev"

print("Original String : " + inp_str) 
num = ""
for c in inp_str:
    if c.isdigit():
        num = num + c
print("Extracted numbers from the list : " + num) 

5

Một chuỗi là một mảng các byte đại diện cho các ký tự unicode được đặt trong các trích dẫn đơn, đôi hoặc ba. Các ký tự kèm theo có thể là các chữ số, bảng chữ cái hoặc ký hiệu đặc biệt. Một chuỗi chỉ là một văn bản bình thường và có thể đọc được con người. Chuỗi là bất biến trong Python. Nó có nghĩa là một khi một đối tượng chuỗi được xác định thì nó không thể thay đổi.

Phương pháp tiếp theo mà chúng ta sẽ sử dụng là hàm get_nums () của thư viện NUMS_FROM_STRING. Thư viện này không đi kèm trước với Python, vì vậy chúng tôi phải cài đặt nó. Chỉ loại pip insttall nums_from_string trong thiết bị đầu cuối của bạn. Sau khi cài đặt, đây là phương pháp dễ nhất nhất mà qua đó chúng ta có thể trích xuất các số từ chuỗi.nums_from_string library. This library doesn’t comes pre bundled with Python, so we have to install it.Just type pip insttall nums_from_string in your terminal. After installing this is the most easiest method through which we can extract numbers from string.

Nhìn mã bên dưới.

THÍ DỤ :

inp_str = "Python4Journaldev"

print("Original String : " + inp_str) 
num = ""
for c in inp_str:
    if c.isdigit():
        num = num + c
print("Extracted numbers from the list : " + num) 

6

Đầu ra:

inp_str = "Python4Journaldev"

print("Original String : " + inp_str) 
num = ""
for c in inp_str:
    if c.isdigit():
        num = num + c
print("Extracted numbers from the list : " + num) 

7

Bạn có thể thấy trong ví dụ trên thông qua NUMS_FROM_STRING, chúng tôi có thể trích xuất thành công các số từ chuỗi mà không cần chỉ định bất kỳ loại dữ liệu nào như float hoặc int etc.

Bản tóm tắt

Vì vậy, chúng tôi đã thấy bốn phương pháp khác nhau mà qua đó chúng tôi có thể trích xuất các số từ một chuỗi trong Python. Phương pháp dễ nhất nhất là get_nums (), là một hàm của thư viện NUMS_FROM_STRING. Drwaback duy nhất của nó là, nó không đi kèm với Python và bạn phải cài đặt nó. Các phương thức khác như isdigit () có thể không hữu ích vì nó dosen chiết xuất các số loại float. Trong Phương pháp 3, bạn phải thực hiện xử lý lỗi nếu không nó sẽ ném giá trịerRor. Chúng tôi đã sử dụng Python 3.10.1 để viết mã ví dụ. Để kiểm tra phiên bản của bạn, hãy viết PythonTHERversion trong thiết bị đầu cuối của bạn.python –version in your terminal.

Làm thế nào để bạn chia một số trong Python?

Lớp Int () được truyền mỗi chuỗi con từ chuỗi và chuyển đổi các giá trị thành số nguyên ...
Sử dụng lớp str () để chuyển đổi số nguyên thành chuỗi ..
Sử dụng danh sách hiểu để lặp qua chuỗi ..
Trên mỗi lần lặp, sử dụng lớp int () để chuyển đổi từng chuỗi con thành số nguyên ..

Làm cách nào để trích xuất các số riêng lẻ từ một số trong Python?

Sử dụng hàm isDigit () để trích xuất các chữ số từ chuỗi python. Python cung cấp cho chúng tôi chuỗi. isDigit () để kiểm tra sự hiện diện của các chữ số trong một chuỗi. Hàm python isDigit () trả về true nếu chuỗi đầu vào chứa các ký tự chữ số trong đó.isdigit() function to extract digits from a Python string. Python provides us with string. isdigit() to check for the presence of digits in a string. Python isdigit() function returns True if the input string contains digit characters in it.

Làm cách nào để trích xuất một số cụ thể từ một chuỗi trong Python?

Vấn đề này có thể được giải quyết bằng cách sử dụng chức năng phân chia để chuyển đổi chuỗi thành danh sách và sau đó danh sách hiểu có thể giúp chúng tôi lặp qua chức năng danh sách và isDigit giúp loại bỏ chữ số ra khỏi chuỗi.using split function to convert string to list and then the list comprehension which can help us iterating through the list and isdigit function helps to get the digit out of a string.

Làm cách nào để trích xuất một chuỗi từ một số?

Số từ một chuỗi trong JavaScript có thể được trích xuất vào một mảng số bằng cách sử dụng phương thức khớp.Hàm này lấy một biểu thức chính quy làm đối số và trích xuất số từ chuỗi.Biểu thức chính quy để trích xuất một số là (/(\ d+)/).using the match method. This function takes a regular expression as an argument and extracts the number from the string. Regular expression for extracting a number is (/(\d+)/).