簡體   English   中英

從 python 字符串中提取值信息

[英]extract value information from python string

我有一個字符串 output ,我想提取 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'

假設TensorFlow(...)是一個字符串,它將始終使用相同的 arguments 進行格式化,那么這樣的事情將起作用:

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
"'ขอคุยด้วยหน่อย'"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM