假设“我想吃鱼,我想买车,所以我必须赚钱”。我想把这个句子分成【“我想吃鱼”,“我想买车”,所以,“我必须赚钱”】我在试着把句子分开
re.split('.|and', sentence)
不过,它会以'.'、'a'、' n '和' d '分割句子。我怎样才能用.和and把句子分开呢?
rjjhvcjd1#
除了转义点(.)(它匹配正则表达式中的任何非换行符)之外,您还应该匹配任何前导空格或尾随空格,以便拆分的分隔符消耗结果中不需要的前导空格和尾随空格。使用正预视模式在末尾Assert以下非空格字符,以避免由尾随点进行拆分:
.
re.split('\s*(?:\.|and)\s*(?=\S)', sentence)
这会传回:
['I want to eat fish', 'I want to buy a car', 'Therefore, I have to make money.']
演示:https://replit.com/@blhsing/LimitedVastCookies
zwghvu4y2#
您需要在正则表达式中转义.。
import re s = "I want to eat fish and I want to buy a car. Therefore, I have to make money." re.split('\.|and', s)
结果:
['I want to eat fish ', ' I want to buy a car', ' Therefore, I have to make money', '']
2条答案
按热度按时间rjjhvcjd1#
除了转义点(
.
)(它匹配正则表达式中的任何非换行符)之外,您还应该匹配任何前导空格或尾随空格,以便拆分的分隔符消耗结果中不需要的前导空格和尾随空格。使用正预视模式在末尾Assert以下非空格字符,以避免由尾随点进行拆分:这会传回:
演示:https://replit.com/@blhsing/LimitedVastCookies
zwghvu4y2#
您需要在正则表达式中转义
.
。结果: