首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python提取复杂字符串中的单个单词

Python提取复杂字符串中的单个单词
EN

Stack Overflow用户
提问于 2018-07-23 10:45:01
回答 8查看 499关注 0票数 1

在我的项目中,我有返回如下字符串的代码:

<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-")

但我可以拿回我不想要的。

有人帮忙吗?

事先谢谢卢卡

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2018-07-23 10:53:39

为此您可以使用正则表达式

举个例子,你可以做的是:

代码语言:javascript
复制
import re
pattern = "(Thread-\d+)"
text = "<Thread(Thread-12, started daemon 129145310715904)>"
match= re.search(pattern, text)
print(match.group(0))

产出:

代码语言:javascript
复制
Thread-12

这样做的目的是指定“在Thread-<one or multiple numbers>字符串中搜索与模式text匹配的字符串”。

票数 2
EN

Stack Overflow用户

发布于 2018-07-23 10:47:07

如果您想使用split,可以这样做:

代码语言:javascript
复制
a = '<Thread(Thread-11, started daemon 123145310715904)>'
p = a.split('(')[1].split(',')[0]

输出:

代码语言:javascript
复制
Thread-11
票数 2
EN

Stack Overflow用户

发布于 2018-07-23 10:49:48

代码语言:javascript
复制
inp = '<Thread(Thread-11, started daemon 123145310715904)>'
m = re.search('^.*\((.*),.*$', inp)
if m:
    print (m.group(1))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51476964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档