在我的项目中,我有返回如下字符串的代码:
<Thread(Thread-11, started daemon 123145310715904)>
<Thread(Thread-12, started daemon 177145310715904)>
<Thread(Thread-12, started daemon 129145310715904)>
我只想提取“线程-11”或“线程-12”(在实践中从第一个(到第一个,char)部分),但我不知道如何在python中实现这一点。我试过像这样分裂:
tsplit = mystring.split('Thread-")
但我可以拿回我不想要的。
有人帮忙吗?
事先谢谢卢卡
发布于 2018-07-23 10:53:39
为此您可以使用正则表达式。
举个例子,你可以做的是:
import re
pattern = "(Thread-\d+)"
text = "<Thread(Thread-12, started daemon 129145310715904)>"
match= re.search(pattern, text)
print(match.group(0))产出:
Thread-12这样做的目的是指定“在Thread-<one or multiple numbers>字符串中搜索与模式text匹配的字符串”。
发布于 2018-07-23 10:47:07
如果您想使用split,可以这样做:
a = '<Thread(Thread-11, started daemon 123145310715904)>'
p = a.split('(')[1].split(',')[0]输出:
Thread-11发布于 2018-07-23 10:49:48
inp = '<Thread(Thread-11, started daemon 123145310715904)>'
m = re.search('^.*\((.*),.*$', inp)
if m:
print (m.group(1))https://stackoverflow.com/questions/51476964
复制相似问题