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

如何修复Python文本处理中连字符拆分单词的合并错误?

解决连字符拆分单词的合并问题

嘿,我看你现在遇到的问题是:想把文本里带连字符拆分的单词合并回去,但直接用replace('-','')再split()后,app- lying变成了app和lying两个单词,而不是期望的applying。这问题其实很好解决,咱们一步步来:

问题出在哪?

你原文本里的拆分是app- lying——注意连字符后面跟着一个空格!当你直接移除所有连字符时,这部分就变成了app lying,split()自然会把它拆成两个独立的单词。

修正后的代码

我们需要精准替换“连字符+空格”这个组合,而不是盲目删掉所有连字符。这样就能把被拆分的单词无缝合并,同时不影响其他正常内容。

先给你修正后的基础版本(顺便帮你把原代码里变量名不一致的小问题也改了):

arq = open('speech.txt', 'r')
content = arq.read()
# 重点:替换 "- "(连字符加空格)为空白,合并拆分的单词
fixed_content = content.replace('- ', '')
word_list = fixed_content.split()
print(word_list)
arq.close()  # 别忘了关闭文件哦

如果想更规范、更安全地处理文件(避免忘记关闭文件导致的问题),推荐用with上下文管理器,它会自动帮你关闭文件:

with open('speech.txt', 'r') as arq:
    content = arq.read()
    fixed_content = content.replace('- ', '')
    word_list = fixed_content.split()
    print(word_list)

运行效果

执行上面的代码后,就能得到你想要的正确输出:

['this', 'is', 'a', 'simple', 'example', 'of', 'applying', 'translinelation', 'rules']

额外补充

如果你的文本里还有其他形式的连字符拆分(比如连字符后没空格,或者跨行的连字符),可能需要用正则表达式来处理,但针对你现在给出的文本内容,上面的方法完全够用啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 11:09:48