You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python3从文本中拆分出复合名词(如Internet of Things)?

如何拆分字符串时保留指定多词短语?

嘿,这个场景我碰到过不少次!普通的split(' ')确实没法识别出你想保留的多词短语,这里有两种实用的方法帮你实现需求:

方法一:正则表达式优先匹配目标短语

利用正则的匹配优先级,先匹配你想要保留的完整短语,再匹配单个单词(包括带标点的结尾词),这样就能精准拆分:

import re

x = "IoTTech offers the latest Internet of Things news and strategy."
# 正则规则:优先匹配"Internet of Things",否则匹配单个单词(含结尾句号)
pattern = r'(Internet of Things|\w+[\.]?)'
# 遍历所有匹配项并收集为列表
result = [match.group() for match in re.finditer(pattern, x)]
print(result)

运行后就能得到你期望的结果:

['IoTTech', 'offers', 'the', 'latest', 'Internet of Things', 'news', 'and', 'strategy.']

方法二:临时标记替换法(更易读,适合多短语场景)

如果觉得正则有点绕,这个方法思路更直观——先把目标短语替换成一个不含空格的临时标记,拆分后再替换回原短语:

x = "IoTTech offers the latest Internet of Things news and strategy."
# 第一步:把要保留的短语换成无空格的临时标记
temp_str = x.replace("Internet of Things", "TEMP_PHRASE")
# 第二步:按空格拆分字符串
split_list = temp_str.split(' ')
# 第三步:把临时标记替换回原短语
result = [item.replace("TEMP_PHRASE", "Internet of Things") for item in split_list]
print(result)

这个方法的好处是扩展性强,如果之后要保留多个多词短语(比如"Artificial Intelligence"),只需要多做几次替换就行,维护起来更简单。

内容的提问来源于stack exchange,提问作者user9870883

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:15:16