怎么把句子的单词顺序倒过来?和字符反转的区别
把一句话倒过来说,是个简单的文字游戏,也能用来检查语序对意思的影响。单词顺序反转只调整词的位置,每个词内部的字母保持原样,所以结果仍然可读。
什么时候会用到词序反转
给孩子出题、做「倒着说」的游戏、写一句看起来正常但读起来别扭的暗号,都只需要把词序倒过来。和逐字符反转相比,词序反转的结果还能认出来,更适合当谜题、当练习题,而不是变成一串无法阅读的乱码。
语言学习里也有用处:把英文句子的词序打乱再让人复原,是很常见的练习;或者反过来观察,同一个意思在语序变化之后,哪一部分读起来不自然,借此理解语序承载的信息,讲解时也更容易说清为什么原来的顺序更好。
- 文字游戏、谜题、暗号
- 语言课上的语序练习
- 检查语序变化对句意的影响
- 生成看起来正常但需重读的句子
逐行处理,空格会被压缩
工具按行处理:每一行用空白切成词,整体倒序排列,再用一个空格重新连起来。所以三行文字仍然得到三行结果,行与行之间不会互相串位,原有的换行结构是保留的,分行写的清单处理后依然分行。
两个细节会改变观感。第一,词与词之间原有的多个空格会被压成一个,排版上的对齐会丢失。第二,行首的缩进会被当成一个空词,倒序之后跑到行尾,看起来像多了一个尾部空格。
- 逐行处理,换行结构保留
- 词间多个空格被压缩成一个
- 行首缩进会跑到行尾
- 标点跟着原词一起移动
- 词内字母顺序不变
它的边界,以及该换用什么
它只按空白切词,所以连字符连接的词会被当成一个整体,比如 well-known 不会拆开;中文、日文句子没有空格,整句会被当成一个词,结果等于没变。这两类内容都不适合用它。
想连词内字母一起倒过来,要用文本反转工具,那个是逐字符处理的。只想倒转行的顺序,用按行反转。需要保留原始空格与缩进时,任何按空白切分的工具都做不到,只能自己写脚本处理。
- 词内字母反转:用文本反转工具
- 行序反转:用按行反转
- 中文、日文:按空白切分无效
- 连字符词不会被拆开
常见问题
和文本反转有什么区别?
文本反转把每个字符都倒过来,单词内部的字母也会反过来,结果通常无法直接阅读。词序反转只调整词与词的位置,每个词保持原样,所以句子仍然能读,只是语序变了。
标点会留在原来的位置吗?
不会。标点紧跟在某个词后面,会跟着那个词一起移动,所以句号可能跑到开头附近。需要正式输出时,转换后手动调整首尾标点,句子才读得通顺。
为什么行首的空格跑到了行尾?
因为切分时行首的空白被当成一个空词,倒序后排到了最后,连接时就表现为尾部多一个空格。需要整齐的排版时,先去掉行首缩进再处理,或者转换后手动删掉多余空格。
相关工具:单词顺序反转