2024-03-29 05:09:16 发布
网友
我正在尝试编写代码,它将接受字符串并从中删除特定的数据。我知道数据看起来像下面的一行,我只需要“”标记内的数据,而不是标记本身。在
inputString = 'type="NN" span="123..145" confidence="1.0" '
有没有办法让一个字符串的子串在两个字符内知道起始点和结束点?在
您可以在每个空格处拆分字符串以获取“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"' ]
然后使用正则表达式:
正则表达式“([^”]+)”匹配引号内的任何内容(前提是至少有一个字符)。圆括号表示您感兴趣的正则表达式的位。在
可以使用正则表达式提取"字符对之间的所有文本:
"
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
或者,更简单:
两个版本的输出:
['NN', '123..145', '1.0']
fields = inputString.split('"') print fields[1], fields[3], fields[5]
您可以在每个空格处拆分字符串以获取“key=”value“”子字符串的列表,然后使用正则表达式来解析子字符串。在
使用输入字符串:
然后使用正则表达式:
^{pr2}$正则表达式“([^”]+)”匹配引号内的任何内容(前提是至少有一个字符)。圆括号表示您感兴趣的正则表达式的位。在
可以使用正则表达式提取
"
字符对之间的所有文本:或者,更简单:
^{pr2}$两个版本的输出:
相关问题 更多 >
编程相关推荐