Hướng dẫn extract currency symbol python - trích xuất biểu tượng tiền tệ python

Tôi đang viết một số mã trong Python, nơi tôi được yêu cầu trích xuất ký hiệu tiền tệ từ một mức giá. Vì thế,

cost = $56.78

Tôi chỉ cần nhận được '$'.

Trên các diễn đàn này, tôi tìm thấy cách trích xuất số nhưng không phải là biểu tượng tiền tệ. Tôi mới đến Regexes nên sẽ biết ơn sự giúp đỡ.

Nó có thể là bất kỳ loại tiền nào, không chỉ đô la, mà tôi cho rằng nó sẽ là nhân vật đầu tiên trong chuỗi ..

Đã hỏi ngày 27 tháng 3 năm 2015 lúc 15:42Mar 27, 2015 at 15:42

user3033194user3033194user3033194

1.7157 Huy hiệu vàng41 Huy hiệu bạc61 Huy hiệu Đồng7 gold badges41 silver badges61 bronze badges

2

>>> def get_symbol[price]:
        import re
        pattern =  r'[\D*][\d\,\.]+[\D*]'
        g = re.match[pattern, price.strip[]].groups[]
        return [g[0] or g[1]].strip[]

>>> get_symbol['$12.5']
'$'
>>> get_symbol['12.5USD']
'USD'

Đã trả lời ngày 27 tháng 3 năm 2015 lúc 15:52Mar 27, 2015 at 15:52

mshsayemmshsayemmshsayem

17.2k11 Huy hiệu vàng61 Huy hiệu bạc67 Huy hiệu đồng11 gold badges61 silver badges67 bronze badges

4

Mẫu thực tế để phù hợp với tất cả các ký hiệu tiền tệ là ____10. Nhưng regex này sẽ không được hỗ trợ bởi mô -đun ____11 mặc định của Python. Nhưng mô -đun

>>> def get_symbol[price]:
        import re
        pattern =  r'[\D*][\d\,\.]+[\D*]'
        g = re.match[pattern, price.strip[]].groups[]
        return [g[0] or g[1]].strip[]

>>> get_symbol['$12.5']
'$'
>>> get_symbol['12.5USD']
'USD'
2 bên ngoài sẽ hỗ trợ nhiều regexes pcre.

>>> cost = '$56.78'
>>> import regex
>>> regex.findall[r'\p{Sc}', cost]
['$']

THỬ NGHIỆM

HOẶC

Chỉ cần thay thế các số hoặc khoảng trắng bằng một chuỗi trống thông qua hàm

>>> def get_symbol[price]:
        import re
        pattern =  r'[\D*][\d\,\.]+[\D*]'
        g = re.match[pattern, price.strip[]].groups[]
        return [g[0] or g[1]].strip[]

>>> get_symbol['$12.5']
'$'
>>> get_symbol['12.5USD']
'USD'
3.

>>> def get_symbol[price]:
        return re.sub[r'\d+[?:,\d+]*[?:\.\d+]?|\s+', '', price]

>>> get_symbol['EUR 10,000.00']
'EUR'
>>> get_symbol[' $ 12.5']
'$'
>>> get_symbol['12.5 USD']
'USD'

HOẶC

Chỉ cần thay thế các số hoặc khoảng trắng bằng một chuỗi trống thông qua hàm

>>> def get_symbol[price]:
        import re
        pattern =  r'[\D*][\d\,\.]+[\D*]'
        g = re.match[pattern, price.strip[]].groups[]
        return [g[0] or g[1]].strip[]

>>> get_symbol['$12.5']
'$'
>>> get_symbol['12.5USD']
'USD'
3.

>>> def get_symbol[price]:
        return re.sub[r'[\d,.\s]', '', price]

>>> get_symbol['EUR 10,000.00']
'EUR'
>>> get_symbol[' $ 12.5']
'$'
>>> get_symbol['12.5 USD']
'USD'

Đã trả lời ngày 27 tháng 3 năm 2015 lúc 15:52Mar 27, 2015 at 15:52

mshsayemmshsayemAvinash Raj

17.2k11 Huy hiệu vàng61 Huy hiệu bạc67 Huy hiệu đồng25 gold badges216 silver badges264 bronze badges

Mẫu thực tế để phù hợp với tất cả các ký hiệu tiền tệ là ____10. Nhưng regex này sẽ không được hỗ trợ bởi mô -đun ____11 mặc định của Python. Nhưng mô -đun

>>> def get_symbol[price]:
        import re
        pattern =  r'[\D*][\d\,\.]+[\D*]'
        g = re.match[pattern, price.strip[]].groups[]
        return [g[0] or g[1]].strip[]

>>> get_symbol['$12.5']
'$'
>>> get_symbol['12.5USD']
'USD'
2 bên ngoài sẽ hỗ trợ nhiều regexes pcre.

cost = '$56.78';

currency = cost[:1]

print[currency]

THỬ NGHIỆM

HOẶC

currency = cost[0]

Chỉ cần thay thế các số hoặc khoảng trắng bằng một chuỗi trống thông qua hàm

>>> def get_symbol[price]:
        import re
        pattern =  r'[\D*][\d\,\.]+[\D*]'
        g = re.match[pattern, price.strip[]].groups[]
        return [g[0] or g[1]].strip[]

>>> get_symbol['$12.5']
'$'
>>> get_symbol['12.5USD']
'USD'
3.Mar 27, 2015 at 15:48

Giữ nó đơn giản.

>>> cost = $56.78     #

Bài Viết Liên Quan

Chủ Đề