Tôi đang cố gắng tìm cụm từ thông dụng để phân tách một số lớn dựa trên số south asian numbering system.Sử dụng cụm từ thông dụng để phân tách một số lớn trong hệ thống đánh số ở Nam Châu Á
Một vài ví dụ:
1,000,000
(Ả Rập) là10,00,000
(Ấn Độ/Hindu/Nam Á)1,000,000,000
(Ả Rập) là100,00,00,000
(Ấn Độ/H/SA).
Mẫu dấu phẩy lặp lại cho mỗi 7 chữ số. Ví dụ: 1,00,00,000,00,00,000
.
Từ cuốn sách Mastering Regular Expressions bởi Friedl, tôi đã biểu thức chính quy sau cho hệ thống đánh số Ả Rập:
r'(?<=\d)(?=(\d{3})+(?!\d))'
Đối với hệ thống đánh số Ấn Độ, tôi đã đưa ra biểu thức sau đây nhưng nó không hoạt động đối với các số có nhiều hơn 8 chữ số:
r'(?<=\d)(?=(((\d{2}){0,2}\d{3})(?=\b)))'
Sử dụng mẫu ở trên, tôi nhận được 100000000,00,00,000
.
Tôi đang sử dụng mô-đun Python re
(re.sub()
). Ý tưởng nào?
Tôi nhận thấy rằng các số bạn đang có làm đầu vào không có * bất kỳ dấu phẩy nào trong chúng, phải không? –
Yup, đúng vậy. Hãy để tôi thử giải pháp bạn đã đề xuất dưới đây! – newbie
Cảm ơn bạn đã chỉnh sửa câu hỏi của tôi Ông Pieters. – newbie