找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 16819|回复: 8

【出题】批处理如何对文章作折行处理?

[复制链接]
发表于 2011-3-3 01:15:38 | 显示全部楼层 |阅读模式
一篇txt文档,含有中文(占%30),也含有一些程序源代码(单词长度不超过16个字节,数字长度不超过12个字节),含有一些制表符,但有些行过长(假设最长1200个字符)

现在想把这些过长的行折到下一行,使得每一行长度为不超过80个光标的宽度(每行的字符串字节数不超过80);

但是,行末的数字,数学表达式(一般较短,不超过20个字节)不能被拆分,尽量不要让行末的英文单词被拆分,可以通过对“,”、“。”后多添加一个空格把这个单词全部放到下一行,而如果这个行末的单词过长,即使增加了2-4个空格也还是得被折到下一行,请用连接符“-”将它连接起来;

对于制表符也要考虑进去,不能使一行的单词与单词或汉字之间制表符(提示可以根据情况将它替换为1-8个空格)的距离发生变化;

行首不能以标点符号开头;

现在征集代码,需要能处理文档中的特殊符号,处理速度较快;

[ 本帖最后由 plp626 于 2011-3-3 16:54 编辑 ]
发表于 2011-3-3 08:48:51 | 显示全部楼层
这可不是一般的难!先占位思考。。。
发表于 2011-3-3 12:48:05 | 显示全部楼层
最简单的办法是扔到notepad里,windows心情好的时候会自动给过长的行加上换行符,狗日的自动“智能”断行终于有了点作用,话说我弃暗投明前可没少吃自动“智能”断行这诡异功能的苦,写代码的时候时不时给你断一下行,一调试就出错,烦不胜烦
发表于 2011-3-3 12:56:18 | 显示全部楼层

回复 3楼 的帖子

而如果这个行末的单词过长,即使增加了2-4个空格也还是得被折到下一行,请用连接符“-”将它连接起来

notepad有这功能?
发表于 2011-3-3 14:27:51 | 显示全部楼层
回4楼:不太清楚,不过从代码常被断行这一点上来看,应该是有吧。而且如果只是换行也就算了,notepad那是断行...着实可恶
发表于 2011-3-3 23:23:01 | 显示全部楼层

回复 5楼 的帖子

你见过notepad断行的时候还给你自动加连接符?
 楼主| 发表于 2011-3-5 10:38:21 | 显示全部楼层
真的很难么?
发表于 2011-3-10 21:46:42 | 显示全部楼层
要考虑制表符有点难,因为其在不同的位置所代替的空格数是不同的(可以是1~8),如果一行中有N个制符时,就求制符所在的位就够折腾的了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 23:31 , Processed in 0.017936 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表