【问题标题】:Python3 parse string after keywordPython3在关键字后解析字符串
【发布时间】:2018-07-06 16:26:24
【问题描述】:

我有一个变量

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
...

【问题讨论】:

  • 这看起来像查询集的 repr。你为什么首先将它转换为字符串?
  • 您似乎希望我们为您编写一些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只会在发布者已经尝试自己解决问题时提供帮助。展示这项工作的一个好方法是包含您迄今为止编写的代码、示例输入(如果有的话)、预期输出以及您实际获得的输出(控制台输出、回溯等)。您提供的详细信息越多,您可能收到的答案就越多。检查FAQHow to Ask
  • 感谢您的帮助!

标签: python arrays string parsing keyword


【解决方案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 是指定正则表达式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-04
    • 2011-12-18
    • 2021-10-24
    • 2013-05-18
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 2019-12-10
    相关资源
    最近更新 更多