文本工具 · 文本变换

文本反转

字符反转/行反转/单词反转

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 63 次使用
输入文本,选反转方式,输出实时刷新
原文输入 input
就绪 · 等待输入
反转输出 output
字符反转 整体倒序
结构反转structural reverse
趣味变形fun transform
就绪 · 纯本地实时反转,文本不上传、不入 URL
第一节

关于本工具

About

整理文本时,最烦的是把整段话或整列数据的手动反转——复制、粘贴、颠倒,重复几十次。输入文本,它按字符、单词或行三种粒度翻转,结果即时显示。处理在浏览器本地完成,内容不上传服务器,适合处理含敏感信息的列表或代码片段。

使用场景

论文投稿格式检查

某高校研究生在投稿前收到期刊编辑反馈,要求将摘要中所有英文单词的首字母大写,但正文中的人名缩写、化学式(如NaCl)又必须保持原样。手动逐行检查耗时且易漏。使用本工具的「单词反转」功能,先将整段文字按单词反转,再配合「字符反转」定位出所有被拆散的首字母位置,快速锁定不符合要求的单词,30秒内完成格式校对。

商品标签逆向溯源

跨境电商运营收到一批退货,外箱贴的溯源码是倒序印刷(如「A1B2C3」印成「3C2B1A」)。需要将这批标签上的编码还原为正序,才能录入系统比对批次。手动逐个字符反转200个标签耗时超过40分钟。使用本工具的「字符反转」功能,批量粘贴编码,点击一次即完成全部反转,10秒内导出正序列表,直接导入ERP系统核销。

古诗词排版复原

某出版社编辑接手一本竖排古籍的数字化工作,原稿中诗句因扫描OCR错误,出现整行文字顺序颠倒(如「床前明月光」变成「光明月前床」)。需要将每行内容恢复为正确阅读顺序。使用「行反转」功能,将错误文本按行粘贴,点击反转后每行文字顺序恢复,再结合上下文微调个别字词,节省了逐句比对原文的2小时工作量。

密码片段重组验证

某程序员在调试旧项目时,发现配置文件中的数据库密码被以「单词反转」方式存储(如「pass123」存储为「123pass」)。需要将密码还原为原始顺序才能连接测试库。使用本工具的「单词反转」功能,输入反转后的密码片段,点击后立即得到原始密码,无需编写临时脚本或手动拆分字符串,5秒内完成验证。

外文姓名顺序转换

某HR在整理外籍员工入职档案时,发现护照上的姓名是「姓-名」顺序(如ZHANG San),但公司系统要求录入为「名-姓」顺序(San ZHANG)。手动调整20份档案耗时且容易混淆中间名。使用本工具的「单词反转」功能,将姓名按空格切分后反转单词顺序,批量处理所有记录,3分钟内生成符合系统格式的名单。

对比矩阵

维度本工具在线文本工具站手工操作
速度毫秒级,纯前端处理秒级,需网络传输分钟级,依赖人工操作
隐私字符不出浏览器,无服务器存储文本需上传至对方服务器完全本地,无网络传输
离线可用支持,无需网络需联网使用始终可用
批量处理支持多行文本一次反转多数仅支持单段文本逐行手动反转,效率低
大小限制无,取决于浏览器内存常有字数限制(如 5000 字)无限制,但受人力限制
收费免费,无隐藏费用部分功能需付费或注册零成本,仅需时间
第二节

使用指南

Getting Started

使用步骤

  1. 1在输入框粘贴或键入待处理文本,右侧预览区实时显示原始内容,无字数限制
  2. 2点击「字符反转」按钮,结果区立即输出每个字符逆序排列的字符串,标点符号一并反转
  3. 3切换至「单词反转」模式,结果区按空格分隔的单词整体逆序,单词内部字符顺序不变
  4. 4选择「行反转」模式,结果区将多行文本按行倒序排列,每行内容保持原样
  5. 5点击结果区任意位置的「复制」图标,反转后文本即存入剪贴板,可直接粘贴到其他应用

输入输出示例

输入输出说明
Hello WorlddlroW olleH常规:字符反转,验证基础功能,包含大小写和空格
第一行 第二行 第三行第三行 第二行 第一行常规:行反转,验证多行文本按行倒序,保留换行符
Hello World 20242024 World Hello常规:单词反转,验证按空格分隔的单词顺序颠倒,数字视为单词
边界:空输入,验证工具不会崩溃或输出异常内容
aa边界:单字符输入,反转后不变,验证最小单元处理
空格 前后后前 空格边界:单词反转时保留多余空格位置,验证空格处理策略(非压缩)
12345!@#¥%%¥#@!54321易错:含全角/半角符号,字符反转时符号位置颠倒,验证 Unicode 支持
Hello World 20242024 World Hello易错:行反转与单词反转混淆场景,用户可能误以为按行反转会同时反转单词顺序,实际仅行序颠倒

常见错误对照

1.行反转时把空行当有效行处理

✗ 错误输入: 第一行 第三行 第五行 反转后得到: 第五行 第三行 第一行
✓ 修复输入: 第一行 第三行 第五行 反转后得到: 第五行 第三行 第一行

行反转按换行符 \n 分割,空行也会被算作一行。如果保留空行,反转后顺序会错位,且输出行数与原行数不一致。

2.单词反转时把标点符号当单词一部分

✗ 错误输入:hello, world 反转后得到:world, hello
✓ 修复输入:hello, world 反转后得到:world hello,

单词反转默认以空格为分隔符,逗号、句号等标点紧贴单词时会被视为单词的一部分,导致反转后标点位置不符合自然语言习惯。

3.字符反转后把 Unicode 组合字符拆散

✗ 错误输入:café(é 是 U+00E9) 反转后得到:éfac
✓ 修复输入:café(é 由 e + ́ 组合) 反转后得到:éfac(但显示可能乱)

某些字符(如带重音字母)由多个 Unicode 码位组成。字符反转按码位反转,可能拆散组合字符,导致显示异常或语义错误。

4.反转后忘记处理首尾空白

✗ 错误输入: hello world 反转后得到: dlrow olleh
✓ 修复输入:hello world 反转后得到:dlrow olleh

前导和尾随空格在反转后仍留在首尾,但视觉上会让人误以为反转结果多了或少了一部分。建议先 trim 再反转。

5.多行文本用行反转但期望单词级别效果

✗ 错误输入: apple banana cherry date 反转后得到: cherry date apple banana
✓ 修复输入:apple banana cherry date 反转后得到:date cherry banana apple

行反转只交换行的顺序,不改变每行内部的单词顺序。若需全局单词反转,应先用合并行功能再执行单词反转。

6.反转后数字顺序与预期相反

✗ 错误输入:2024年3月5日 字符反转后得到:日5月3年4202
✓ 修复输入:2024-03-05 字符反转后得到:50-30-4202

日期格式中的数字反转后顺序完全颠倒,日期含义丢失。如果目的是保持日期可读,应使用行反转或单词反转而非字符反转。

第三节

工作原理

How It Works

核心公式

反转字符串 S = reverse(S_original)

变量说明

  • S_original原始输入字符串
  • S反转后的输出字符串

示例

输入字符串 "abc123",反转后每个字符顺序颠倒:S = reverse("abc123") = "321cba"。

输入文本拆分元素(字符/行/单词)反转顺序(倒序排列)输出反转文本选择模式(字符/行/单词)保持分隔符(可选)输出反转文本
用户输入 本地处理 输出结果
第四节

开发者集成

For Developers

5 种主流语言实现,复制即用:

# 字符反转、行反转、单词反转 text = "Hello world\nPython is fun" # 字符反转 char_reversed = text[::-1] print("字符反转:", repr(char_reversed)) # 输出: 'nuf si nohtyP\ndlrow olleH' # 行反转 lines = text.splitlines() line_reversed = "\n".join(reversed(lines)) print("行反转:", repr(line_reversed)) # 输出: 'Python is fun\nHello world' # 单词反转(按空格分割,保留顺序) words = text.split() word_reversed = " ".join(reversed(words)) print("单词反转:", repr(word_reversed)) # 输出: 'fun is Python world Hello'
// 字符反转、行反转、单词反转 const text = "Hello world\nJavaScript is fun"; // 字符反转 const charReversed = [...text].reverse().join(""); console.log("字符反转:", JSON.stringify(charReversed)); // 输出: "nuf si tpircSavaJ\ndlrow olleH" // 行反转 const lines = text.split("\n"); const lineReversed = lines.reverse().join("\n"); console.log("行反转:", JSON.stringify(lineReversed)); // 输出: "JavaScript is fun\nHello world" // 单词反转(按空白分割) const words = text.split(/\s+/); const wordReversed = words.reverse().join(" "); console.log("单词反转:", JSON.stringify(wordReversed)); // 输出: "fun is JavaScript world Hello"
package main import ( "fmt" "strings" ) func main() { text := "Hello world\nGo is fast" // 字符反转 runes := []rune(text) for i, j := 0, len(runes)-1; i < j; i, j = i+1, j-1 { runes[i], runes[j] = runes[j], runes[i] } fmt.Printf("字符反转: %q\n", string(runes)) // 输出: "tsaf si oG\ndlrow olleH" // 行反转 lines := strings.Split(text, "\n") for i, j := 0, len(lines)-1; i < j; i, j = i+1, j-1 { lines[i], lines[j] = lines[j], lines[i] } fmt.Printf("行反转: %q\n", strings.Join(lines, "\n")) // 输出: "Go is fast\nHello world" // 单词反转 words := strings.Fields(text) for i, j := 0, len(words)-1; i < j; i, j = i+1, j-1 { words[i], words[j] = words[j], words[i] } fmt.Printf("单词反转: %q\n", strings.Join(words, " ")) // 输出: "fast is Go world Hello" }
#!/bin/bash text="Hello world\nBash is powerful" # 字符反转(用 rev 命令) echo -e "字符反转:" echo -e "$text" | rev # 输出: # lufrewop si hsaB # dlrow olleH # 行反转(用 tac 命令) echo -e "行反转:" echo -e "$text" | tac # 输出: # Bash is powerful # Hello world # 单词反转(用 awk) echo -e "单词反转:" echo -e "$text" | awk '{for(i=NF;i>0;i--) printf "%s%s",$i,(i>1?OFS:ORS)}' # 输出: # world Hello # powerful is Bash
fn main() { let text = "Hello world\nRust is safe"; // 字符反转 let char_reversed: String = text.chars().rev().collect(); println!("字符反转: {:?}", char_reversed); // 输出: "efas si tsuR\ndlrow olleH" // 行反转 let line_reversed: String = text .lines() .rev() .collect::<Vec<_>>() .join("\n"); println!("行反转: {:?}", line_reversed); // 输出: "Rust is safe\nHello world" // 单词反转 let word_reversed: String = text .split_whitespace() .rev() .collect::<Vec<_>>() .join(" "); println!("单词反转: {:?}", word_reversed); // 输出: "safe is Rust world Hello" }
第五节

常见问题

Q & A
我想把一段文字里的每一行都倒过来,但单词顺序不变,这个工具能做吗?

可以。在「文本反转」工具中,选择「行反转」模式即可。它会将多行文本按行切分,然后反转行的顺序,但每行内部的字符和单词顺序保持不变。例如,输入「第一行\n第二行」会输出「第二行\n第一行」。如果只需要反转每行内字符顺序,请选择「字符反转」模式。

为什么我复制了一段英文句子,反转后单词全拼错了,比如「hello」变成「olleh」?

这是「字符反转」模式的效果,它会将整个字符串的每个字符顺序完全颠倒,包括字母、空格和标点。所以「hello world」会变成「dlrow olleh」。如果你只希望反转单词的顺序(如「world hello」),请使用「单词反转」模式。工具默认是字符反转,操作前请确认选对了模式。

我有一份名单,每行一个人名,我想把名字顺序从正序变成倒序,用这个工具怎么操作最快?

直接用「行反转」模式。将名单按行粘贴到输入框(每行一个人名),点击执行后,输出结果就是行顺序完全颠倒的名单。例如:输入「张三\n李四\n王五」,输出「王五\n李四\n张三」。无需手动逐行调整,几行到几千行都能秒处理。

这个工具支持中文和标点符号的反转吗?会不会出现乱码?

完全支持。工具基于 UTF-8 编码处理,中文、日文、韩文、emoji 以及各种标点符号(如「,。」!?)都能正确反转,不会出现乱码。例如「你好,世界!」字符反转后为「!界世,好你」。所有处理都在浏览器本地完成,不涉及后端编码转换,所以编码兼容性良好。

我输入了 10 万字的文本,这个工具会不会卡死或者报错?

本工具为纯前端实现(FE),处理速度取决于浏览器性能和文本长度。10 万字以内,主流 PC 浏览器通常能 1-3 秒完成反转。但如果文本超过 50 万字,浏览器可能会因内存占用过高而卡顿或崩溃。建议分批处理(每次 10 万字以内),或直接使用文本编辑器的「反转行」功能。工具本身没有硬性字数限制,但受浏览器内存上限约束。

反转后的结果我要复制到 Excel 里,但换行符丢了,怎么办?

如果选择「行反转」或「单词反转」模式,输出结果会保留原始换行符(\n),直接复制到 Excel 单元格内应该能正确换行。如果发现换行丢失,请检查是否误选了「字符反转」模式(该模式会反转所有字符,包括换行符,导致换行位置错乱)。另外,粘贴到 Excel 时建议使用「粘贴文本」选项(Ctrl+Alt+V),避免格式干扰。

这个工具需要联网吗?我把敏感文本放进去安全吗?

完全不需要联网。工具是纯前端实现(FE),所有文本处理均在浏览器本地完成,不会将任何数据上传到服务器。即使断网后刷新页面,工具仍可正常使用(前提是页面已加载完毕)。所以即便是包含密码、身份证号等敏感信息的文本,也可以放心使用。

我想把一段话里的每个单词都反转(比如「abc def」变成「cba fed」),但行顺序不变,能做到吗?

目前工具不支持「单词内字符反转但保留单词顺序」的单一模式。要实现这个效果,需要两步操作:第一步用「字符反转」得到「fed cba」,第二步手动将结果中的单词顺序再反转回来。更快捷的方式是使用支持正则替换的文本编辑器(如 VS Code 或 Sublime Text),用正则 \b(\w+)\b 匹配单词后逐一反转。如果此功能需求普遍,后续版本可能会增加该模式。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭