Hướng dẫn replace numbers with letters python - thay thế các số bằng các chữ cái python

Tôi có một chuỗi như thế này

        convert_text = "tet1+tet2+tet34+tet12+tet3"

Tôi muốn thay thế các chữ số thành ký tự từ chuỗi trên. Danh sách ánh xạ có sẵn riêng biệt. Vì vậy, khi tôi đang cố gắng thay thế chữ số 1 bằng ký tự 'g'

       import re
       convert_text = convert_text.replace['1','g']
       print[convert_text]

đầu ra là

      "tetg+tet2+tet34+tetg2+tet3"

Làm thế nào để phân biệt một chữ số đơn và hai giá trị chữ số. Có cách nào để làm với regexp hay cái gì khác không?

Netwave

37.5k6 Huy hiệu vàng44 Huy hiệu bạc81 Huy hiệu đồng6 gold badges44 silver badges81 bronze badges

Hỏi ngày 9 tháng 8 năm 2017 lúc 10:08Aug 9, 2017 at 10:08

3

Bạn có thể sử dụng biểu thức thông thường với đối số thay thế có thể gọi được để thay thế các chữ số liên tiếp với giá trị trong bảng tra cứu, ví dụ:

import re

# Input text
convert_text = "tet1+tet2+tet34+tet12+tet3"

# to->from of digits to string
replacements = {'1': 'A', '2': 'B', '3': 'C', '12': 'T', '34': 'X'}

# Do actual replacement of digits to string
converted_text = re.sub['[\d+]', lambda m: replacements[m.group[]], convert_text]

Mà cung cấp cho bạn:

'tetA+tetB+tetX+tetT+tetC'

Đã trả lời ngày 9 tháng 8 năm 2017 lúc 10:32Aug 9, 2017 at 10:32

Jon Clements ♦ Jon ClementsJon Clements

135K32 Huy hiệu vàng240 Huy hiệu bạc273 Huy hiệu Đồng32 gold badges240 silver badges273 bronze badges

import re
convert_text = "tet1+tet2+tet34+tet12+tet3"
pattern = re.compile[r'[[?

Bài Viết Liên Quan

Chủ Đề