Làm thế nào để bạn trích xuất các chữ số từ một chuỗi trong python?

Trong chương trình này, chúng tôi đang sử dụng Biểu thức chính quy (mô-đun RegEx) để trích xuất các số từ chuỗi trong python. Chúng ta có thể sử dụng hàm findall để kiểm tra các lần xuất hiện số bằng cách sử dụng chuỗi biểu thức chính quy phù hợp

# Python program to extract number from string

# importing RegEx module
import re

# take string
string = "2 Java developer and 5 Python developer"

# print original string
print("The original string:", string)

# using re.findall() methods
temp = re.findall(r'\b\d+\b', string)
num = list(map(int, temp))

# print extract numbers
print("Extract Numbers:", num)

đầu ra. -

chuỗi ban đầu. 2 nhà phát triển Java và 5 nhà phát triển Python
trích xuất số. [2, 5]

Trích xuất chữ số từ chuỗi Python

Hàm filter() lọc các chữ số được phát hiện trong chuỗi bằng hàm isdigit() và hàm join() thực hiện nhiệm vụ tái cấu trúc hàm nối

# Python program to extract digits from string

# take string
string = "kn4ow5pro8am2"

# print original string
print("The original string:", string)

# using join() + filter() + isdigit()
num = ''.join(filter(lambda i: i.isdigit(), string))

# print extract digits
print("Extract Digits:", num)

đầu ra. -

chuỗi ban đầu. kn4ow5pro8am2
Trích xuất chữ số. 4582

Python lấy int từ String

Trong chương trình này, chúng tôi đang sử dụng Biểu thức chính quy (mô-đun RegEx) để trích xuất các chữ số từ chuỗi. Chúng tôi có thể xác định yêu cầu loại chữ số, sử dụng “\D” và chỉ các chữ số được trích xuất từ ​​​​chuỗi

# Python program to extract digits from string

# importing RegEx module
import re

# take string
string = "kn4ow5pro8am2"

# print original string
print("The original string:", string)

# using re.sub() methods
num = re.sub("\D", "", string)

# print extract digits
print("Extract Digits:", num)

đầu ra. -

chuỗi ban đầu. kn4ow5pro8am2
Trích xuất chữ số. 4582

Cũng thấy. - Kiểm tra xem Chuỗi có bắt đầu bằng Nguyên âm không

Nếu bạn thích bài đăng này, hãy chia sẻ nó với bạn bè của bạn. Bạn có muốn chia sẻ thêm thông tin về chủ đề đã thảo luận ở trên hay bạn có thấy điều gì không đúng không? . Cảm ơn

Trong hướng dẫn này, chúng ta sẽ xem xét cách trích xuất các số từ một chuỗi trong Python với sự trợ giúp của các ví dụ

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

Làm thế nào để bạn trích xuất các chữ số từ một chuỗi trong python?
Làm thế nào để bạn trích xuất các chữ số từ một chuỗi trong python?

Bạn có thể lặp qua chuỗi và sử dụng hàm chuỗi

3000
0 để trích xuất các số từ một chuỗi trong Python. Sử dụng các bước sau –

  1. Khởi tạo chuỗi kết quả của bạn thành một chuỗi rỗng
  2. Lặp qua chuỗi
  3. Đối với mỗi ký tự trong chuỗi, sử dụng hàm
    3000
    0 để kiểm tra xem nó có phải là chữ số hay không
  4. Nếu đó là một chữ số, hãy thêm ký tự vào chuỗi kết quả của chúng tôi

Hãy xem một ví dụ để thấy các bước trên đang hoạt động trong Python

# string with numbers
s = "I love you 3000"
# result string 
s_nums = ""
# iterate over characters in s
for ch in s:
    if ch.isdigit():
        s_nums += ch
# display the result string
print(s_nums)

đầu ra

3000

Chuỗi kết quả chỉ chứa các chữ số từ chuỗi ban đầu

Bạn có thể rút gọn đoạn mã trên thành một dòng bằng cách sử dụng tính năng hiểu danh sách và hàm chuỗi

3000
2

________số 8_______

đầu ra

3000

Chúng tôi nhận được kết quả tương tự như trên. Chuỗi kết quả chỉ chứa các ký tự số. Ở đây, chúng tôi sử dụng cách hiểu danh sách để lấy danh sách các ký tự số trong chuỗi. Sau đó chúng ta sử dụng hàm string join() để nối các ký tự này lại thành một chuỗi

Lưu ý rằng phương pháp này sẽ chỉ chụp các chữ số trong chuỗi. Ví dụ: nếu chuỗi chứa số âm, phương thức này sẽ chỉ bắt các chữ số chứ không bắt dấu

# string with numbers
s = "The temperature is -5 degrees celsius."
# result string 
s_nums = "".join([ch for ch in s if ch.isdigit()])
# display the result string
print(s_nums)

đầu ra

5

Ở đây, chúng tôi nhận được chữ số trong chuỗi trong chuỗi kết quả của mình nhưng chúng tôi không nhận được dấu cho số âm

Sử dụng biểu thức chính quy để trích xuất số từ chuỗi

Ngoài ra, bạn có thể sử dụng biểu thức chính quy để trích xuất các số từ một chuỗi. Hãy sử dụng nó để nắm bắt các chữ số trong một chuỗi

import re

# string with numbers
s = "I love you 3000"
# result list 
s_nums = re.findall(r'\d', s)
# display the result list
print(s_nums)
print("".join(s_nums))

đầu ra

['3', '0', '0', '0']
3000

Chúng tôi nhận được các số từ chuỗi trong danh sách kết quả của chúng tôi. Bạn cũng có thể chụp các chữ số liền kề bằng cách sử dụng biểu thức chính quy

3000
3

Một điểm hay khi sử dụng các biểu thức chính quy là bạn có thể tùy chỉnh chúng để nắm bắt các mẫu phù hợp với mình. Ví dụ: nếu bạn cũng muốn chụp số nguyên âm (có dấu), bạn có thể sử dụng biểu thức chính quy,

3000
4

Hãy xem một ví dụ

import re

# string with numbers
s = "The temperature on the 27th of December was -5 degrees celsius."
# result list 
s_nums = re.findall(r'-?\d+', s)
# display the result list
print(s_nums)

đầu ra

['27', '-5']

Chúng tôi nhận được các số trong chuỗi cùng với dấu âm (nếu có) trong danh sách kết quả của chúng tôi

Bạn cũng có thể quan tâm đến -

  • Python – Kiểm tra xem chuỗi có chứa số không
  • Python – Kiểm tra xem chuỗi chỉ chứa số


Đăng ký nhận bản tin của chúng tôi để biết thêm thông tin hướng dẫn và hướng dẫn
Chúng tôi không spam và bạn có thể từ chối bất cứ lúc nào


Tác giả

  • Làm thế nào để bạn trích xuất các chữ số từ một chuỗi trong python?
    Làm thế nào để bạn trích xuất các chữ số từ một chuỗi trong python?

    Piyush Raj

    Piyush là một chuyên gia dữ liệu đam mê sử dụng dữ liệu để hiểu mọi thứ tốt hơn và đưa ra quyết định sáng suốt. Trước đây, anh ấy từng là Nhà khoa học dữ liệu cho ZS và có bằng kỹ sư của IIT Roorkee. Sở thích của anh ấy bao gồm xem cricket, đọc sách và làm việc trong các dự án phụ