“如何仅提取字符”;abc-3456“;从python中的给定文本

“如何仅提取字符”;abc-3456“;从python中的给定文本,python,Python,我有这个密码 import re text = "this is my desc abc-3456" m = re.findall("\w+\\-\d+", text) print m 这将打印['abc-3456'],但我只想得到abc-3456(不带方括号和引号)。 如何做到这一点 import re text = "this is my desc abc-3456" m = re.findall("\w+\\-\d+", text) print m[0] 关于finda

我有这个密码

import re   

text = "this is my desc abc-3456"
m = re.findall("\w+\\-\d+", text)
print m
这将打印['abc-3456'],但我只想得到abc-3456(不带方括号和引号)。 如何做到这一点

import re   

text = "this is my desc abc-3456"
m = re.findall("\w+\\-\d+", text)
print m[0]
关于findall(模式、字符串、标志=0)
返回字符串中模式的所有非重叠匹配项,作为字符串列表

findall
返回字符串列表。如果需要第一个字符串,请使用
m[0]


print m[0]
将给出不带
[]
'

的字符串如果您只想要第一个(或唯一)结果,请执行以下操作:

import re

text = "this is my desc abc-3456"
m = re.search("\w+\\-\d+", text)
print m.group()
重新运行匹配项的列表。在该列表中,结果是字符串。如果需要,可以使用

在python中,列表的表示形式在括号中:
[member1,member2,…]

字符串(“somestring”)表示形式在引号中:
“somestring”

这意味着字符串列表的表示形式为:

['somestring1', 'somestring2', ...]
因此,列表中有一个字符串,要删除的字符是python表示的一部分,而不是数据的一部分

要获取字符串,只需从列表中获取第一个元素:

mystring = m[0]

你想得到这种格式的子字符串,还是只想得到最后一个空格分隔的子字符串?…哦,嗯…没关系。我没注意;你已经得到了正则表达式:)。
m=re.findall(“\w+\-\d+”,text)[0]