基于字符的Python子字符串拆分

2024-03-29 05:09:16 发布

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

我正在尝试编写代码,它将接受字符串并从中删除特定的数据。我知道数据看起来像下面的一行,我只需要“”标记内的数据,而不是标记本身。在

inputString = 'type="NN" span="123..145" confidence="1.0" '

有没有办法让一个字符串的子串在两个字符内知道起始点和结束点?在


Tags: 数据字符串代码标记typenn字符span
3条回答

您可以在每个空格处拆分字符串以获取“key=”value“”子字符串的列表,然后使用正则表达式来解析子字符串。在

使用输入字符串:

>>> input_string = 'type="NN" span="123..145" confidence="1.0" '
>>> input_string_split = input_string.split()
>>> print input_string_split
[ 'type="NN"', 'span="123..145"', 'confidence="1.0"' ]

然后使用正则表达式:

^{pr2}$

正则表达式“([^”]+)”匹配引号内的任何内容(前提是至少有一个字符)。圆括号表示您感兴趣的正则表达式的位。在

可以使用正则表达式提取"字符对之间的所有文本:

import re
inputString='type="NN" span="123..145" confidence="1.0" '
pat=re.compile('"([^"]*)"')
while True:
        mat=pat.search(inputString)
        if mat is None:
                break
        strings.append(mat.group(1))
        inputString=inputString[mat.end():]
print strings

或者,更简单:

^{pr2}$

两个版本的输出:

['NN', '123..145', '1.0']
fields = inputString.split('"')
print fields[1], fields[3], fields[5]

相关问题 更多 >