用其他号码替换号码

时间:2019-07-23 13:34:11

标签: python replace text-processing

在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。


如何最佳地进行这些替换?

2 个答案:

答案 0 :(得分:4)

对于句子1,您可以在评论部分中遵循@RomanPerekhrest的建议 即。

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

对于句子2,您可以尝试此

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

答案 1 :(得分:1)

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]])

通过这种方式,您可以按照需要的方式处理句子_部分[1]和句子_部分[3]。或通过更改连接句子上的字符串以不同的方式进行组装。