扫描长字符串并在Python中添加额外的字符

时间:2020-04-14 17:01:07

标签: python arrays string

我需要扫描一个长字符串以确定数字,并在每个数字后添加逗号。但是数字不一样,而且随机变化。

小样本= 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函数对于一个字符有效。他们没有工作。 随机更改数字后,该如何更改以在字符串上添加逗号?

2 个答案:

答案 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'
>>> 
相关问题