Spaces:
Running
Running
File size: 609 Bytes
b02630d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | import re
class NameTool:
"""Extract user names from natural language messages."""
def extract_name(self, text: str):
"""
Extract name from sentences like:
- i am naveen
- I'm Naveen
- my name is naveen
"""
text = text.lower()
patterns = [
r"i am ([a-zA-Z]+)",
r"i'm ([a-zA-Z]+)",
r"my name is ([a-zA-Z]+)"
]
for p in patterns:
m = re.search(p, text)
if m:
name = m.group(1).strip().title()
return name
return None
|