用其他号码替换号码

Replace number with other number

在 python 中,假设我有以下字符串:

sentence = 'Sum: 100.04 Mean: 23,300 Min:1'

我想要以下内容:

1)

new_sentence_1 = 'Sum: 1.1 Mean: 1,1 Min:1'

2)

new_sentence_2 = 'Sum: 1 Mean: 1 Min:1'

在 (1) 处,我将数字的整数和小数部分都替换为 1(或任何整数 - 1 是一个示例)。

在 (2) 处,我将每个数字作为一个整体替换为 1。


如何以最佳方式进行这些替换?

对于第1句,您可以在评论部分关注@RomanPerekhrest的建议 即

re.sub(r'\d+', '1', sentence)

对于句子 2,你可以试试这个

re.sub(r'\d+[.,]?\d*', '1', s)

对于这种特定情况,Swadhikar C 绝对是最简洁的处理方式。如果您采用不同的方法,您可以处理句子中的数字或以其他不同的方式加入它。我会这样做:

sentence = 'Sum: 100.04 Mean: 23,300 Min:1'
sentence_parts = sentence.split(' ')

sentence_1 = ' '.join([sentence_parts[0], '1.1', sentence_parts[2], '1,1', sentence_parts[-1]])

sentence_2 = ' '.join([sentence_parts[0], '1', sentence_parts[2], '1', sentence_parts[-1]])

这样您就可以按照自己的方式处理 sentence_parts[1] 和 sentence_parts[3]。或者 assemble 以不同的方式改变连接语句中的字符串。