Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Lấy tiền tố số của chuỗi cho trước trong Python


Giả sử chúng ta có một chuỗi chứa số ở đầu. Trong bài này, chúng ta sẽ thấy cách lấy chỉ phần số của chuỗi cố định ở đầu.

Với isdigit

Hàm isdigit quyết định xem phần của chuỗi có phải là chữ số hay không. Ta sẽ dùng hàm takewhile từ itertools để nối từng phần của chuỗi là chữ số.

Ví dụ

from itertools import takewhile
# Chuỗi cho trước
stringA = "347Hello"
print("Chuỗi cho trước : ", stringA)
# Dùng takewhile
res = ''.join(takewhile(str.isdigit, stringA))
# In chuỗi kết quả
print("Tiền tố số từ chuỗi: \n", res)

Kết quả

Chạy mã trên cho kết quả sau:

Chuỗi cho trước : 347Hello
Tiền tố số từ chuỗi: 347

Với re.sub

Dùng mô-đun biểu thức chính quy re, ta tạo mẫu tìm kiếm chỉ các chữ số. Tìm kiếm chỉ tìm các chữ số ở đầu chuỗi.

Ví dụ

import re
# Chuỗi cho trước
stringA = "347Hello"
print("Chuỗi cho trước : ", stringA)
# Dùng re.sub
res = re.sub('\D.*', '', stringA)
# In chuỗi kết quả
print("Tiền tố số từ chuỗi: \n", res)

Kết quả

Chạy mã trên cho kết quả sau:

Chuỗi cho trước : 347Hello
Tiền tố số từ chuỗi: 347

Với re.findall

Hàm findall hoạt động tương tự, chỉ khác là dùng dấu cộng thay vì dấu sao.

Ví dụ

import re
# Chuỗi cho trước
stringA = "347Hello"
print("Chuỗi cho trước : ", stringA)
# Dùng re.findall
res = ''.join(re.findall('\d+', stringA))
# In chuỗi kết quả
print("Tiền tố số từ chuỗi: \n", res)

Kết quả

Chạy mã trên cho kết quả sau:

Chuỗi cho trước : 347Hello
Tiền tố số từ chuỗi: 347