Hướng dẫn find digit in string python regex - tìm chữ số trong chuỗi python regex

Đ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 [(<string>, <expected output>), ...]
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

Nội dung

  • Giới thiệu
  • Ví dụ 1: Lấy danh sách tất cả các số trong một chuỗi
  • Ví dụ 2: Lấy danh sách tất cả các chữ số liên tục trong một chuỗi
  • Bản tóm tắt

Python Regex - Nhận danh sách tất cả các số từ chuỗi

Để có được danh sách tất cả các số trong một chuỗi, hãy sử dụng biểu thức thông thường ‘[0-9]+với phương thức re.findall (). [0-9] biểu thị một biểu thức chính quy để khớp với một chữ số trong chuỗi. [0-9]+ đại diện cho các chuỗi chữ số liên tục của bất kỳ độ dài nào.‘[0-9]+’ with re.findall() method. [0-9] represents a regular expression to match a single digit in the string. [0-9]+ represents continuous digit sequences of any length.

numbers = re.findall('[0-9]+', str)

Trường hợp STR là chuỗi mà chúng ta cần tìm các số. re.findall () Danh sách các chuỗi được khớp với biểu thức thông thường.str is the string in which we need to find the numbers. re.findall() returns list of strings that are matched with the regular expression.

Ví dụ 1: Lấy danh sách tất cả các số trong một chuỗi

Ví dụ 2: Lấy danh sách tất cả các chữ số liên tục trong một chuỗi

Bản tóm tắt

import re

str = 'We live at 9-162 Malibeu. My phone number is 666688888.'
#search using regex
x = re.findall('[0-9]+', str)
print(x)

Python Regex - Nhận danh sách tất cả các số từ chuỗi

Để có được danh sách tất cả các số trong một chuỗi, hãy sử dụng biểu thức thông thường ‘[0-9]+với phương thức re.findall (). [0-9] biểu thị một biểu thức chính quy để khớp với một chữ số trong chuỗi. [0-9]+ đại diện cho các chuỗi chữ số liên tục của bất kỳ độ dài nào.

['9', '162', '666688888']

Ví dụ 2: Lấy danh sách tất cả các chữ số liên tục trong một chuỗi

Bản tóm tắt

Bản tóm tắt

import re

str = 'We four guys, live at 2nd street of Malibeu. I had a cash of $248 in my pocket. I got a ticket with serial number 88796451-52.'
#search using regex
x = re.findall('[0-9]+', str)
print(x)

Python Regex - Nhận danh sách tất cả các số từ chuỗi

Để có được danh sách tất cả các số trong một chuỗi, hãy sử dụng biểu thức thông thường ‘[0-9]+với phương thức re.findall (). [0-9] biểu thị một biểu thức chính quy để khớp với một chữ số trong chuỗi. [0-9]+ đại diện cho các chuỗi chữ số liên tục của bất kỳ độ dài nào.

['2', '248', '88796451', '52']

Bản tóm tắt

Python Regex - Nhận danh sách tất cả các số từ chuỗi

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọcstr containing numbers and alphabets, the task is to find all the numbers in str using regular expression. 

    Examples:

    Bàn luận abcd11gdf15hnnn678hh4 
    Output: 11 15 678 4 

    Đưa ra một chuỗi chuỗi chứa các số và bảng chữ cái, nhiệm vụ là tìm tất cả các số trong STR bằng cách sử dụng biểu thức thông thường. & NBSP; 1abcd133hhe0 
    Output: 1 133 0

    Đầu vào: ABCD11GDF15HNNN678HH4 & nbsp; đầu ra: 11 15 678 4 & nbsp;{IDE} first, before moving on to the solution.

    Đầu vào: 1ABCD133HHE0 & NBSP; đầu ra: 1 133 0 The idea is to use Python re library to extract the sub-strings from the given string which match the pattern [0-9]+. This pattern will extract all the characters which match from 0 to 9 and the + sign indicates one or more occurrence of the continuous characters. 

    Được đề xuất: Vui lòng thử cách tiếp cận của bạn trên {IDE} trước, trước khi chuyển sang giải pháp.

    Python3

    Cách tiếp cận: Ý tưởng là sử dụng thư viện Python Re để trích xuất các chuỗi con từ chuỗi đã cho phù hợp với mẫu [0-9]+. Mẫu này sẽ trích xuất tất cả các ký tự khớp từ 0 đến 9 và dấu + cho biết một hoặc nhiều sự xuất hiện của các ký tự liên tục. & NBSP;

    Dưới đây là việc thực hiện phương pháp trên: & nbsp;

    numbers = re.findall('[0-9]+', str)
    0
    numbers = re.findall('[0-9]+', str)
    1

    numbers = re.findall('[0-9]+', str)
    2
    numbers = re.findall('[0-9]+', str)
    3
    numbers = re.findall('[0-9]+', str)
    4
    numbers = re.findall('[0-9]+', str)
    5

    numbers = re.findall('[0-9]+', str)
    6
    numbers = re.findall('[0-9]+', str)
    7
    numbers = re.findall('[0-9]+', str)
    8
    numbers = re.findall('[0-9]+', str)
    9
    import re
    
    str = 'We live at 9-162 Malibeu. My phone number is 666688888.'
    #search using regex
    x = re.findall('[0-9]+', str)
    print(x)
    0
    import re
    
    str = 'We live at 9-162 Malibeu. My phone number is 666688888.'
    #search using regex
    x = re.findall('[0-9]+', str)
    print(x)
    1
    numbers = re.findall('[0-9]+', str)
    4__

    numbers = re.findall('[0-9]+', str)
    6
    import re
    
    str = 'We live at 9-162 Malibeu. My phone number is 666688888.'
    #search using regex
    x = re.findall('[0-9]+', str)
    print(x)
    5
    import re
    
    str = 'We live at 9-162 Malibeu. My phone number is 666688888.'
    #search using regex
    x = re.findall('[0-9]+', str)
    print(x)
    6

    ['9', '162', '666688888']
    5
    ['9', '162', '666688888']
    6
    ['9', '162', '666688888']
    7
    ['9', '162', '666688888']
    8

    Làm thế nào để bạn tìm thấy chữ số của 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.isdigit function helps to get the digit out of a string.

    Làm cách nào để tìm một số trong regex?

    Để phù hợp với bất kỳ số nào từ 0 đến 9, chúng tôi sử dụng \ D trong regex. Nó sẽ khớp với bất kỳ số chữ số nào từ 0 đến 9. \ D có nghĩa là [0-9] hoặc khớp bất kỳ số nào từ 0 đến 9. Thay vì viết 0123456789 Phiên bản tốc ký là [0-9] trong đó [] được sử dụng cho phạm vi ký tự .. It will match any single digit number from 0 to 9. \d means [0-9] or match any number from 0 to 9. Instead of writing 0123456789 the shorthand version is [0-9] where [] is used for character range.

    Làm thế nào để bạn tìm thấy các chữ số của một chuỗi?

    Ví dụ sau đây cho thấy cách bạn có thể sử dụng phương thức thay thế () để trích xuất tất cả các chữ số từ một chuỗi trong java: // chuỗi chứa số chuỗi str = "Giá của cuốn sách là $ 49";// Trích xuất các chữ số chỉ từ chuỗi chuỗi NumberOnly = str.thay thế ("[^0-9]", "");// In hệ thống Digitts.ngoài.use the replaceAll() method to extract all digits from a string in Java: // string contains numbers String str = "The price of the book is $49"; // extract digits only from strings String numberOnly = str. replaceAll("[^0-9]", ""); // print the digitts System. out.

    Làm thế nào để bạn trích xuất số đầu tiên từ một chuỗi trong Python?

    Tóm tắt: Để trích xuất số từ một chuỗi đã cho trong Python, bạn có thể sử dụng một trong các phương thức sau:..
    Sử dụng mô -đun Regex ..
    Sử dụng các hàm split () và append () trong danh sách ..
    Sử dụng danh sách hiểu với các hàm isDigit () và split () ..
    Sử dụng mô -đun Num_From_String ..