You need to enable JavaScript to run this app. 如何实现读取文本文件、反转单词保留位置后写入另一文本文件
优惠活动
大模型
产品
解决方案
定价
更多

如何实现读取文本文件、反转单词保留位置后写入另一文本文件

逐词反转字符的文件处理实现

要实现的效果和给定示例完全对齐:原文本的排版、空格、标点、换行位置丝毫不改,只把每个组成单词的连续字母块整体做字符倒序,不打乱单词的原有排列顺序。

核心实现规则

  • 拆分文本时,将「连续的字母序列」识别为待处理的单词单元,所有非字母内容(空格、句号、换行符等)全部原样保留,既不做反转、也不移动位置
  • 对识别到的每个字母序列,直接做逐字符倒序拼接
  • 适配大小写规则:如果原单词首字母为大写,反转后的单词保持首字母大写、其余字母小写的格式,匹配示例的大小写呈现效果

零依赖参考实现(Python版本)

不需要安装第三方库,基础Python环境即可运行,流程非常直白:

  1. 按读取权限打开输入文件,拿到全部原始文本内容
  2. 通过正则匹配拆分文本结构,对所有匹配到的字母单词块执行反转操作,其余非字母片段直接保留拼接
  3. 把处理完成的完整文本写入空的输出文件
    核心代码片段:
import re

# 正则表达式自动匹配所有连续英文字母块,其余内容自动识别为待保留片段
letter_block = re.compile(r'([a-zA-Z]+)')

# 处理匹配到的单个单词
def reverse_single_word(match_result):
    original_word = match_result.group(1)
    # 整体反转单词字符
    reversed_content = original_word[::-1]
    # 适配原单词的大写规则
    if original_word[0].isupper():
        reversed_content = reversed_content.capitalize()
    return reversed_content

# 读取输入文件内容
with open('input.txt', 'r', encoding='utf-8') as input_file:
    raw_content = input_file.read()

# 逐块完成文本处理
processed_content = letter_block.sub(reverse_single_word, raw_content)

# 写入输出文件
with open('output.txt', 'w', encoding='utf-8') as output_file:
    output_file.write(processed_content)

效果验证

把给定的测试输入放到input.txt中运行代码,得到的output.txt内容和预期完全一致:

nocab si ytsat dna ypsirc.
Egrango si detarrevo.

运行代码后可以看到,所有非字母元素(单词间空格、句尾句号、段落换行)都保持了原位置完全不变,每个单词的字符都完成了反转,和给定的预期输出效果匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.08 13:24:03