Đ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
Ví dụ 1. Nhập RE str = "CO32DesPee208dy" n = re.findall [r '\ d', str] a = re.findall [r '[a-za-z]', str] in [n] in [a ] ...ways to extract digits from a Python String. So, let us get started. Ví dụ 3 .. 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.True if the input string contains digit characters in it. Syntax:: 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 Hàm python isDigit [] trả về true nếu chuỗi đầu vào chứa các ký tự chữ số trong đó. 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: Output:Ví dụ 2. ....
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 để kiểm tra sự hiện diện của các chữ số trong một chuỗi.Original String : Python4Journaldev
Extracted numbers from the list : 4
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
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]
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:regex library‘ enables us to detect the presence of particular characters such as digits, some special characters, etc. from a string.
Ví dụ 2:
2. Sử dụng thư viện regex để trích xuất các chữ số‘\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]
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.
Output:
Original string : Hey readers, we all are here be 4 the time 1! ['4', '1']
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]1 để 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.
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.
Để 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 !! 🙂
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọc
Bàn luận The combination of all the above regex functions can be used to perform this particular task. In this we compile a regex and match it to group text and numbers separately into a tuple.
Python3
Đôi khi, chúng ta có một chuỗi, bao gồm văn bản và số [hoặc ngược lại], mà không có bất kỳ sự phân biệt cụ thể nào giữa hai. Có thể có một yêu cầu trong đó chúng tôi yêu cầu tách văn bản khỏi số. Hãy để thảo luận về những cách nhất định trong đó điều này có thể được thực hiện. & NBSP;
Phương thức số 1: Sử dụng re.compile [] + re.match [] + re.groups [] Sự kết hợp của tất cả các hàm Regex trên có thể được sử dụng để thực hiện nhiệm vụ cụ thể này. Trong đó, chúng tôi biên dịch một regex và khớp nó với nhóm và các số riêng biệt thành một tuple. & Nbsp;
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
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
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]4
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
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
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
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
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
Original String : Python4Journaldev Extracted numbers from the list : 40
Original String : Python4Journaldev Extracted numbers from the list : 41
Original String : Python4Journaldev Extracted numbers from the list : 42
Original String : Python4Journaldev Extracted numbers from the list : 43
Các
Original string : Hey readers, we all are here be 4 the time!
The numbers list is : [4]
1inp_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 Original string : Hey readers, we all are here be 4 the time!
The numbers list is : [4]
3
The original string is : Geeks4321 The tuple after the split of string and number : ['Geeks', '4321']
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]
7Original string : Hey readers, we all are here be 4 the time!
The numbers list is : [4]
5Original string : Hey readers, we all are here be 4 the time!
The numbers list is : [4]
6 Original string : Hey readers, we all are here be 4 the time!
The numbers list is : [4]
7Original string : Hey readers, we all are here be 4 the time!
The numbers list is : [4]
8 Original string : Hey readers, we all are here be 4 the time!
The numbers list is : [4]
9Original String : Python4Journaldev
Extracted numbers from the list : 4
1 Original String : Python4Journaldev
Extracted numbers from the list : 4
22 The slight modification of regex can provide
the flexibility to reduce the number of regex functions required to perform this particular task. The findall function is alone enough for this task.
Python3
Đôi khi, chúng ta có một chuỗi, bao gồm văn bản và số [hoặc ngược lại], mà không có bất kỳ sự phân biệt cụ thể nào giữa hai. Có thể có một yêu cầu trong đó chúng tôi yêu cầu tách văn bản khỏi số. Hãy để thảo luận về những cách nhất định trong đó điều này có thể được thực hiện. & NBSP;
Phương thức số 1: Sử dụng re.compile [] + re.match [] + re.groups [] Sự kết hợp của tất cả các hàm Regex trên có thể được sử dụng để thực hiện nhiệm vụ cụ thể này. Trong đó, chúng tôi biên dịch một regex và khớp nó với nhóm và các số riêng biệt thành một tuple. & Nbsp;
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
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
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]4
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
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
Các
Original string : Hey readers, we all are here be 4 the time!
The numbers list is : [4]
1inp_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 Original string : Hey readers, we all are here be 4 the time!
The numbers list is : [4]
3
The original string is : Geeks4321 The tuple after the split of string and number : ['Geeks', '4321']
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]
7Original string : Hey readers, we all are here be 4 the time!
The numbers list is : [4]
5Original string : Hey readers, we all are here be 4 the time!
The numbers list is : [4]
6 Original string : Hey readers, we all are here be 4 the time!
The numbers list is : [4]
7Original string : Hey readers, we all are here be 4 the time!
The numbers list is : [4]
8 Original string : Hey readers, we all are here be 4 the time!
The numbers list is : [4]
9Original String : Python4Journaldev
Extracted numbers from the list : 4
1 Original String : Python4Journaldev
Extracted numbers from the list : 4
22
Python3
Phương thức số 1: Sử dụng re.compile [] + re.match [] + re.groups [] Sự kết hợp của tất cả các hàm Regex trên có thể được sử dụng để thực hiện nhiệm vụ cụ thể này. Trong đó, chúng tôi biên dịch một regex và khớp nó với nhóm và các số riêng biệt thành một tuple. & Nbsp;
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
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
The original string is : Geeks4321 The tuple after the split of string and number : ['Geeks', '4321']0
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
The original string is : Geeks4321 The tuple after the split of string and number : ['Geeks', '4321']2
The original string is : Geeks4321 The tuple after the split of string and number : ['Geeks', '4321']3
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
The original string is : Geeks4321 The tuple after the split of string and number : ['Geeks', '4321']2
The original string is : Geeks4321 The tuple after the split of string and number : ['Geeks', '4321']6
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
The original string is : Geeks4321 The tuple after the split of string and number : ['Geeks', '4321']8
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]4
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
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
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]03
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]04
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]05
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]06
The original string is : Geeks4321 The tuple after the split of string and number : ['Geeks', '4321']3
Original String : Python4Journaldev Extracted numbers from the list : 41
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
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]10
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]03
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]12
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]13
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]06
The original string is : Geeks4321 The tuple after the split of string and number : ['Geeks', '4321']0
Original String : Python4Journaldev Extracted numbers from the list : 41
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
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]10
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]19
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]20
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
The original string is : Geeks4321 The tuple after the split of string and number : ['Geeks', '4321']5
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]23
Original String : Python4Journaldev Extracted numbers from the list : 41
Original String : Python4Journaldev Extracted numbers from the list : 422____52
Đầu ra
The original string is : Geeks4321 The tuple after the split of string and number : ['Geeks', '4321']