我需要扫描一个长字符串以确定数字,并在每个数字后添加逗号。但是数字不一样,而且随机变化。
小样本= host1:/omd/sites/prod/etc/thruk /omd/sites/prod/etc/thruk
host1:/omd/sites/prod/var/thruk /omd/sites/prod/var/thruk
这是我到目前为止尝试过的
14 194 180 119 195 213 175 220 133 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 72 288 319 345 275 145 5
但这给了我奇怪的输出
['0','\ t','0','\ t','0','\ t','0','\ t','0','\ t',' 1','2','5','\ t','2','7','1','\ t','3','0','8','\ t',
注意:isdigit或isNumeric函数对于一个字符有效。他们没有工作。 随机更改数字后,该如何更改以在字符串上添加逗号?
答案 0 :(得分:1)
您可以简单地尝试根据空格/制表符来中断字符串,并使用逗号组合获得的元素:
new_str = ",".join(my_values.split(' ')) #or '\t' if they are separated by a tab
答案 1 :(得分:0)
您可以获得的所有数字为:
>>> import re
>>> a = re.findall('-?\d+\.?\d*', sample)
>>> a
['14', '194', '180', '119', '195', '213', '175', '220', '133', '24', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '72', '288', '319', '345', '275', '145', '5']
然后以以下身份加入:
>>> ", ".join(a)
'14, 194, 180, 119, 195, 213, 175, 220, 133, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 288, 319, 345, 275, 145, 5'
>>>