Python3在关键字之后解析字符串

时间:2018-07-06 16:26:25

标签: python arrays string parsing keyword

我有一个变量

abc="[<Result id:af2af0>, < Result id:5ebb65>, < Result id:ee0f90>, < Result id:e8ced6>]"

abcd=str(abc)
if isinstance(abc, str):
    print("GOOD")
else:
    print("NOT GOOD")

我想在keywork =“ id:”之后解析此字符串,以将六个值存储到数组中

array[0]=af2af0
array[1]=5ebb65
...

1 个答案:

答案 0 :(得分:1)

使用正则表达式:)

import re
abc="[<Result id:af2af0>, < Result id:5ebb65>, < Result id:ee0f90>, < Result id:e8ced6>]"
pattern = r'<\s*Result id\:([^>]+)>'

print(re.findall(pattern, abc))

实时演示:https://repl.it/repls/AutomaticPlumPixels

如果关键字可以是其他单词,而不仅仅是“结果”,则也可以使用此正则表达式:

pattern = r'<\s*[^\s]+ id\:([^>]+)>'

r中的r''用于指定正则表达式。