我需要一种方法来替换字符串中所有出现的数字,用它们的罗马数字等价物表示。在
示例:
My 3 Top Tips: Part 19
应该输出My III Top Tips: Part XIX
Se7en
应该输出Se7en
(因为字符7
不是'word')
看来这项工作最好的包装是roman。不幸的是,它不接受同时包含文本和数字的字符串。在
我的想法是:
split()
文本- 迭代每个
word
word
是一个数字吗,如果是,请用roman
替换它- 再次合并列表
这看起来不太容易出错。最好的方法是什么?是否可以使用regex或list理解,或两者结合使用?在
Tags:
要查找不属于较大单词的数字,请使用带word boundary anchors的正则表达式:
将只匹配示例中的},而不是{}。在
3
和{因此,使用this answer中的
^{pr2}$write_roman()
,您可以会得到
相关问题 更多 >
编程相关推荐