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

如何交换长字符串中指定相邻双词组合的所有匹配项

Python实现指定相邻单词对顺序交换

针对字符串中所有匹配的相邻双单词组合交换顺序的需求,有两种常用实现方案,你可以根据文本格式选择:

方案1:原生字符串替换(适配格式规整的文本)

如果目标字符串里两个单词固定以单个空格分隔,不存在多空格、制表符等间隔,直接用Python内置的replace方法即可实现,写法简洁、执行效率高:

# 原始字符串定义
long_string = 'I eat food and she eat food so he can eat food'
# 直接替换所有匹配的相邻单词组合
processed_str = long_string.replace('eat food', 'food eat')

print(processed_str)

运行后输出结果完全符合预期:

I food eat and she food eat so he can food eat

方案2:正则精确匹配替换(适配通用复杂场景)

如果文本格式不固定,两个单词之间可能存在多个空格、制表符等空白间隔,或是需要避免误匹配单词片段(比如不会把eating food、eat foods这类不符合要求的片段错误替换),可以用正则做单词边界级的精确匹配:

import re

long_string = 'I eat food and she eat food so he can eat food'
# \b 代表单词边界,保证匹配的是独立完整的单词;\s+ 匹配1个及以上任意空白字符
processed_str = re.sub(r'\beat\b\s+\bfood\b', 'food eat', long_string)

print(processed_str)

方案选择参考

  • 处理日志、固定格式输出等规整文本时优先选方案1,性能更好
  • 处理自然语言文本、格式不确定的爬取内容时优先选方案2,容错性更高

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 23:15:41