Python:有没有更简单的方法可以做到这一点?字符串到某些文本



我有这个列表:

comment = ['Item Location: AUMEL222nLintu Testi: C:\SSD\important\text.txtnLintu Connection: 123nItem Version: ABC.123.ABCnItem Serial: 1234ABCDnItem Configuration ID: ABCD1234']

我需要从这里提取某些项目。我已经让它工作了,但必须有更简单的方法可以做到这一点。我的代码如下所示:

key = "Item Location"
key_found = False
for line in comment:
if key_found:
get_value(line)     #converts the big list to more readable state.
line2 = line
teststat = ""
FW = ""
print(line2)
for item in line2.split("n"):
if "Item Location" in item:
Teststat = (item.strip())
if "Item Version" in item:
FW = (item.strip())
print(Teststat)
print(FW)

输出:

Item Location : AUMEL222
Item Version : ABC.123.ABC

所以从字符串中抓取几个想要的值。 主要目标是只打印出值。不是钥匙。但它可以通过以下方式完成:

print(Teststat.replace("Item Location: ", ""))

正则表达式通常矫枉过正,但它们在这里是一个很好的匹配(蹩脚的双关语,对不起(:

import re
for line in comments:
found = re.findall(r"(^Item Location|Item Version): (.+?)$", line, re.MULTILINE)
if found:
print(found)
# if you only want the values:
print("n".join(v for k, v in found))
# if you want it as a dict for future use
found = dict(found)
print(found)
# etc

尝试使用item.split(':')[1]而不是item.strip()

comment = ['Item Location: AUMEL222nLintu Testi: C:\SSD\important\text.txtnLintu Connection: 123nItem Version: ABC.123.ABCnItem Serial: 1234ABCDnItem Configuration ID: ABCD1234']
key = 'Item Location'
#split with n
commentSplit = comment[0].split('n')
commentSplit2 = []
#split with ':'
for i in commentSplit:
commentSplit2.append(i.split(':'))
#value for key
for i in commentSplit2:
if i[0] == key:
print i[1]

你可能想要这样的东西;

comment = ['Item Location: AUMEL222n'
'Lintu Testi: C:\SSD\important\text.txtn'
'Lintu Connection: 123n'
'Item Version: ABC.123.ABCn'
'Item Serial: 1234ABCDn'
'Item Configuration ID: ABCD1234']
comment = comment[0]
for key_value_pair in [key_value_pair.split(':') 
for key_value_pair in comment.split('n')]:
print(':t'.join(key_value_pair))

请注意,为了可读性,我只是将列表中的部分字符串放在新行上,这并没有对comment的值进行任何更改。


输出:

Item Location:   AUMEL222
Lintu Testi:     C: SSDimportanttext.txt
Lintu Connection:    123
Item Version:    ABC.123.ABC
Item Serial:     1234ABCD
Item Configuration ID:   ABCD1234

相关内容

最新更新