在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。
如何最佳地进行这些替换?
答案 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]。或通过更改连接句子上的字符串以不同的方式进行组装。