Python中如何正确匹配分词后拆分出的独立's所有格后缀?
问题根因
你之前的判断语句无法命中目标的核心原因是,分词后得到的所有格后缀实际是末尾带空格的's ,和你判断条件里无空格的's不匹配。
正确判断方案
- 方案1:直接匹配带空格的后缀(仅适用于确认分词结果固定携带末尾空格的场景)
代码示例:if xx == "'s ": - 方案2:先去除字符串前后空白再匹配(鲁棒性更强,可适配前后存在多余空格、制表符、换行符等空白字符的情况,推荐使用)
代码示例:if xx.strip() == "'s":
过往错误写法说明
if xx == "\'s"::单引号在双引号包裹的字符串中无需额外转义,该写法和if xx == "'s":效果完全一致,仅能匹配无末尾空格的's,无法命中你分词得到的带空格结果。if xx == "'\s"::\s是正则表达式里的空白符匹配语法,在普通Python字符串中不属于合法转义序列,该写法实际会匹配包含反斜杠的'\s'字符串,完全不符合需求。
内容的提问来源于stack exchange,提问作者Melina
相关产品推荐
相关产品推荐

