I'm trying to get one single word out of a string if it contains a certain character.
I want to do something like this:
string = 'My email is [email protected] and I use it a lot.'
if '@' in string:
return email
But how can I get python to know exactly where the keyword is and return it's value.
In this case it would return [email protected]
CodePudding user response:
You can also use regex for your purposes. In this regex pattern \S* means "Any non-whitespace character". You can test the regular expression here.
import re
string = 'My email is [email protected] and I use it a lot.'
search_word = re.search(r'(\S*)@(\S*)', string)
if search_word:
print(search_word.group())
else:
print("Word was not found.")
CodePudding user response:
Using list comprehension:
emails = [i for i in string.split() if '@' in i]
Output:
['[email protected]']
CodePudding user response:
Use regular expression to extract your pattern of interest, for example:
import re
email = re.search('\w @\w ([.]\w ) ', string).group(0)
CodePudding user response:
match=re.search(r'([^\s]*@[^\s]*)',string)
if match and match.group(0): print(match.group(0))
