【问题标题】:extract value information from python string从python字符串中提取值信息
【发布时间】:2022-01-13 01:23:21
【问题描述】:

我有一个字符串输出,我想提取 str_data。那就是 str_data 中的值。目前我正在使用下面的代码,但我认为它可以改进。以下代码不适用于str_data=['']str_data=['L'm'],因为它返回列表/索引超出范围错误。 str_data 包含语言信息,因此它可以为空或包含诸如it's 之类的词。无论如何要改善这一点?谢谢

right = result.split("str_data=['")[1]
final = right.split("'], extra='")[0]
Example 1:
result = TensorSet(tensors={'result': Tensor(shape=['5'], str_data=['ขอคุยด้วยหน่อย'], extra={})}, extra={}
Example 2:
result = TensorSet(tensors={'result': Tensor(shape=['102'], str_data=[''], extra={})}, extra={}
Example 3:
result = TensorSet(tensors={'result': Tensor(shape=[], str_data=['L'm'], extra={})}, extra={}

我想提取出来:

example_1_result = 'ขอคุยด้วยหน่อย'
example_2_result = ''
example_3_result = 'L'm'

【问题讨论】:

    标签: python string split nlp


    【解决方案1】:

    假设TensorFlow(...) 是一个字符串,它将始终使用相同的参数进行格式化,那么这样的事情将起作用:

    final = result.split(",")[1].split("str_data=")[1].replace("[","").replace("]","")

    这是一个细分:

    示例输入:

    result = "TensorSet(tensors={'result': Tensor(shape=['5'], str_data=['ขอคุยด้วยหน่อย'], extra={})}, extra={})"

    >>> result.split(",")[1]
    " str_data=['ขอคุยด้วยหน่อย']"
    >>> data = result.split(",")[1]
    >>> data.split("str_data=")[1]
    "['ขอคุยด้วยหน่อย']"
    >>> content = data.split("str_data=")[1]
    >>> content.replace("[","").replace("]","")
    "'ขอคุยด้วยหน่อย'"
    >>> final = content.replace("[","").replace("]","")
    >>> final
    "'ขอคุยด้วยหน่อย'"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多