Python3拆分字符串并仅保留结尾部分

2024-09-30 02:28:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的字符串

PID: N9K-C92160YC-X      ,  VID: V01 ,  SN: FDO211410AK

我试着打印出两部分,第一部分是“N9K-C92160YC-X”,第二部分是“FDO211410AK”

我已经设法通过这样做得到PID

modeltype = net_connect.send_command('sh inv | i Chassis next 1 | i PID').split("  ")[0]]
print(modeltype)

这给了我:

PID: N9K-C92160YC-X

我不知道如何分割和保留序列号

serialnumber = net_connect.send_command('sh inv | i Chassis next 1 | i PID').split("SN:")[0]
print(serialnumber)

输出:

PID: N9K-C92160YC-X      ,  VID: V01 ,  

Tags: sendnetshconnectpidcommandvidsn
3条回答

您的文本似乎是结构化的,因此给出适当的名称将非常有用:

def parts(s, separator):
    return [e.strip() for e in s.split(separator)]

s = "PID: N9K-C92160YC-X      ,  VID: V01 ,  SN: FDO211410AK" 
pid, vid, sn = parts(s, ",")
pid_key, pid_value = parts(pid, ":")
sn_key, sn_value = parts(sn, ":")

只需在空间上拆分它,并去掉多余的空间

text = "PID: N9K-C92160YC-X      ,  VID: V01 ,  SN: FDO211410AK"
parts = [txt.strip() for txt in text.split()]
print(parts[1], parts[-1])

按空格拆分,然后访问结果数组中的第二个和最后一个元素:

str = "PID: N9K-C92160YC-X      ,  VID: V01 ,  SN: FDO211410AK"
parts = re.split(r'\s+', str)
print(parts[1])
print(parts[-1])

这张照片是:

N9K-C92160YC-X
FDO211410AK

相关问题 更多 >

    热门问题