如何从字符串中提取特定单词?

2024-04-26 05:29:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要一个程序来接受一个字符串,并提取特定的字,以获得像Python这样的输出?你知道吗

输入字符串:

My name is somename. I am from India and I'm an Engineer.

输出应为:

Name: Somename
Location: India
Profession: Engineer

拜托,有人能帮我吗?你知道吗


Tags: and字符串namefrom程序anismy
2条回答

你的问题不清楚你到底想要什么。你知道吗

如果是简单的正则表达式查询:

import re

strng = "My name is somename. I am from India and I'm an Engineer."
mobj = re.match("My name is (?P<name>.*). I am from (?P<location>.*) and I'm an (?P<profession>.*).", strng)
if mobj:
    print("Name: {}".format(mobj.groupdict()['name']))
    print("Location: {}".format(mobj.groupdict()['location']))
    print("Profession: {}".format(mobj.groupdict()['profession']))

如果您想要一个更自然的语言解析器,那么可以尝试Hiadore建议的选项:Spacy(空间.io)或者米蒂(github.com/麻省理工学院-nlp/米蒂)

你知道吗代码:-你知道吗

import spacy
nlp = spacy.load('en')
doc2 = nlp("My name is John. I am from India and I'm an Engineer.")
print([(X.text, X.label_) for X in doc2.ents])

结果:-

   [('John', 'PERSON'), ('India', 'GPE'), ('Engineer', 'PERSON')]

相关问题 更多 >