要提取文本中的指定內容,你可以使用正則表達式或字符串方法來實現。
下面是使用正則表達式提取指定內容的示例代碼:
import re
text = "Hello, my name is John. My email address is john@example.com."
# 提取郵箱地址
email_pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'
emails = re.findall(email_pattern, text)
print(emails) # 輸出: ['john@example.com']
# 提取姓名
name_pattern = r'\b[A-Z][a-z]+\b'
names = re.findall(name_pattern, text)
print(names) # 輸出: ['Hello', 'John']
上面的代碼使用re.findall()
函數從文本中提取出所有匹配指定模式的內容。在模式中使用了正則表達式來定義匹配規則。
如果你知道要提取的內容的具體位置,也可以使用字符串方法來提取指定的內容。例如,如果你想提取文本中的某個子字符串,可以使用字符串的find()
方法或index()
方法來找到子字符串的起始位置,然后使用切片操作提取出子字符串。
text = "Hello, my name is John. My email address is john@example.com."
# 提取郵箱地址
email_start = text.find("email address is")
email_end = text.find(".", email_start)
email = text[email_start + len("email address is"):email_end]
print(email) # 輸出: john@example.com
# 提取姓名
name_start = text.find("my name is")
name_end = text.find(".", name_start)
name = text[name_start + len("my name is"):name_end]
print(name) # 輸出: John
上面的代碼使用find()
方法找到指定子字符串的起始位置,然后使用切片操作提取出子字符串。
無論是使用正則表達式還是字符串方法,都可以根據具體文本的格式和需求來選擇合適的方法來提取指定內容。