python - 如何从Python中的字符串中取出前2位数字
问题描述
我有 2 个字符串:
"SP-1-15::PROVPEC=NTK555EA,CTYPE=\"SP-2\",PEC=NTK555EA,REL= 1 ,CLEI=,SER=NNTM,MDAT=UNKNOWN,AGE=00-005-20-03,ONSC=00-005-19-50:IS-ANR,FLT"
"SP-1-16::PROVPEC=NTK555FA,CTYPE=\"SP-2 Dual CPU\",PEC=NTK555FA,REL= 1 ,CLEI=,SER=NNTM,MDAT=UNKNOWN,AGE=UNKNOWN,ONSC=UNKNOWN:IS-ANR,FLT"
我想要两件事:
如果
WRK
在字符串中删除15
并16
从(SP-1-15 and SP-1-16)
相应的。如果
WRK
不在字符串中,则删除在这种情况下为 的奇数值15
。
解决方案
这可以做到re.search
并re.sub
满足WRK
在我曾经.join()
找到它的两者中找到它的条件
s = ["SP-1-15::PROVPEC=NTK555EA,CTYPE=\"SP-2\",PEC=NTK555EA,REL= 1 ,CLEI=,SER=NNTM,MDAT=UNKNOWN,AGE=00-005-20-03,ONSC=00-005-19-50:IS-ANR,FLT", "SP-1-16::PROVPEC=NTK555FA,CTYPE=\"SP-2 Dual CPU\",PEC=NTK555FA,REL= 1 ,CLEI=,SER=NNTM,MDAT=UNKNOWN,AGE=UNKNOWN,ONSC=UNKNOWN:IS-ANR,FLT"
]
import re
j = ''.join(s)
find_sp = re.compile(r'\d+::', re.I)
for idx, item in enumerate(s):
if 'WRK' in j:
s[idx] = re.sub(r'\d+::', '::', item)
elif 'WRK' not in j:
num = find_sp.search(item)
x = num.group(0).strip('::')
if int(x) % 2:
s[idx] = re.sub(r'\d+::', '::', item)
else:
pass
print(s)
['SP-1-::PROVPEC=NTK555EA,CTYPE="SP-2",PEC=NTK555EA,REL= 1 ,CLEI=,SER=NNTM,MDAT=UNKNOWN,AGE=00-005-20-03,ONSC=00-005-19-50:IS- ANR,FLT', 'SP-1-16::PROVPEC=NTK555FA,CTYPE="SP-2 Dual CPU",PEC=NTK555FA,REL= 1 ,CLEI=,SER=NNTM,MDAT=UNKNOWN,AGE=UNKNOWN,ONSC=UNKNOWN:IS-ANR,FLT']
在这里与WRK
其中一条线
(xenial)vash@localhost:~/python/stack_overflow$ python3.7 strings.py ['SP-1-::PROVPEC=WRKNTK555EA,CTYPE="SP-2",PEC=NTK555EA,REL= 1 ,CLEI=,SER=NNTM,MDAT=UNKNOWN,AGE=00-005-20-03,ONSC=00-005-19-50:IS- ANR,FLT', 'SP-1-::PROVPEC=NTK555FA,CTYPE="SP-2 Dual CPU",PEC=NTK555FA,REL= 1 ,CLEI=,SER=NNTM,MDAT=UNKNOWN,AGE=UNKNOWN,ONSC=UNKNOWN:IS-ANR,FLT']
推荐阅读
- wordpress - 如何在更新版本> 5中取回wp admin中的先前/旧编辑器
- javascript - 如何将所有后代节点和链接设置为与 2 级祖先相同的颜色?
- java - STM32F746G-DISCO 的 MicroEJ UART 和其他 GPIO 中断
- image - 颤振:“(路径):不能为空”条件文件检查
- ios - Swift - 如何获得上传速度而不是下载速度?
- entity-framework-core - 如何在 Entity Framework Core 中控制内存中生成的键值?
- javascript - JS 等价于 Java 的 Collections.unmodifiableCollection
- haskell - 如何运行从 Haskell 源代码生成的 LLVM 位码
- vert.x - MongoClient::save(...) 如何更改文档参数的 _id 字段
- amazon-web-services - 放大 withAuthenticator v/s with withOAuth