我有以下字符串:
str = "MMX Lions Television Inc"
我需要将它转换成:
conv_str = "2010 Lions Television Inc"
我有以下函数可以将罗马数字转换成它的等价整数:
numeral_map = zip(
(1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1),
('M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I')
)
def roman_to_int(n):
n = unicode(n).upper()
i = result = 0
for integer, numeral in numeral_map:
while n[i:i + len(numeral)] == numeral:
result += integer
i += len(numeral)
return result
我如何使用 re.sub
在这里获取正确的字符串?
(注意:我尝试使用此处描述的 regex
:How do you match only valid roman numerals with a regular expression? 但它不起作用。)
我是一名优秀的程序员,十分优秀!