我有一些水果名单的清单/字典如下:
fruits = ["Banana","Apples","Oranges"]
这只是一个示例列表,其中可以有更多的成果。 我的输入文字如下所示:
text1 = " I want to 2 Apples and 3 Bananas"
text2 = " I need Apples 2, Bananas 5"
text3 = "want to have 1 orange"
我想要注意的是,我的输入字符串是一个自由流动的文本,因此不会遵循任何特定格式。
问题:我想解析字符串并获取一个表/列表,其中包含我所拥有的水果数量。数量可以在水果之前或之后。下面可以看作是输入的输出" text1 "我想要:
Apple 2
Banana 3
我在各种链接中都经历了类似的问题陈述,但是输入字符串有某种格式,而我的问题并没有。 我所经历的一些链接是:
python: extracting variables from string templates
How to extract variable name and value from string in python
extracting key value pairs from a string containing escaped characters
get python dictionary from string containing key value pairs
答案 0 :(得分:0)
如果数据完全是非结构化的,而是句子,则可能必须使用nlp路由。但是如果你可以做一些基本的假设,你可以尝试绕过它。
例如:
1)每个水果都有数量吗?
2)你能在字符串中加入其他乱码吗?
Example: 1 4 5 Apple 1
如果您可以执行基本规则,例如一个水果附带一个数字,并且该数字是最接近的数字(之前或之后),那么您可以提取数字和水果的位置,然后从左侧开始采用最接近的数字。 / p>
text1 = " I want to 2 Apples and 3 Bananas" -> [2, Apple, 3, Banana]
text2 = " I need Apples 2, Bananas 5" -> [Apple, 2, Banana, 5]
text3 = "want to have 1 orange" -> [1, Orange]
答案 1 :(得分:0)