![]() 高级会员
|
请教楼主,怎样删除包含特定数据的一行?
文件模板如下,实际文本是没有行号的—— 1:a.1, b.2 = c.3, d.4, e.5 2:a.1, k.2 = c.3, d.4, e.5 3:a.1, k.2 4: 5:k.2 = c.3, d.4, e.5 6:b.2 = c.3, d.4, k.2 7: 8:b.2 = c.3, k.2, e.5 9:k.2 想用bwfr删除包含k2的第2,3,5,9行,第6,8行保留,实际文本有多个不同的k2,所以想用模板文件批量删除,但配对行总写不对,删除不了非k2开头的行,也就是第2,3行。 请教一下我怎么写参数,谢谢! 此帖于 2008-08-31 00:40:44 被 link 编辑. . |
||
![]() 热心会员
|
|
||
![]() baiy.cn 俺的原创免费作品站 |
![]() 高级会员
|
|
||
![]() 超级会员
|
真不错,这东西收藏起来研究一下,
可以提供自己的代码水平。 |
||
![]() 高级会员
|
不错,谢谢
|
||
![]() 热心会员
|
引用:
2. 能传个样本文件上来吗? 此帖于 2008-09-02 02:10:55 被 ASBai 编辑. . |
|||
![]() 超级会员
|
这个强,谢谢推荐。
|
||
![]() Campagnolo |
![]() 高级会员
|
我是还没轮到解决等号的问题就碰到删除过多……
现在论坛不允许上传附件吧?我想想怎么给你,先谢谢了! 初步找到原因了: 在我的系统中,使用-ric好像是跨行匹配的效果,改用-rnnlic就基本正常,在-rnnlic参数条件下,必须显式提供\r\n,否则会保留删除后的空行,我不知道这种情况是否你设计预期的…… 我的替换模板.*K.2.*\r\n,还没处理=号 谢谢你的帮助! 此帖于 2008-09-04 09:02:55 被 link 编辑. . |
||
![]() 超级会员
|
不错不错。
|
||
![]() 高级会员
|
新问题,bwfr实际执行中不能处理utf-16编码的文件,楼主可帮忙确认这程序在Vista环境能正确运行?谢谢! |
||
![]() 热心会员
|
引用:
utf-16/ucs2 都是可以正确处理的。需要加参数指定字符集编码,具体请看帮助。Vista 下可以正常运行。 |
|||
![]() 高级会员
|
引用:
参数我是加了的,utf-16我执行regsvr32 注册再注销iconv.dll好像就激活了,但是输出时没有自动按utf-16输出,必须显式给出参数-encout,和使用帮助的说法有点不同? 总的来说现在突然变得可用了,不知道怎么搞出来的,效果很好。 建议一下,如果bwfr尝试自动判断输入文件的格式,并同格式输入就更好了,不需要考虑同一文件内多种编码混杂的情况。原因是我不懂怎么判断源文件编码,只好一个一个参数试,挺郁闷的。 bwfr工具很好,终于可以用上了,批处理简单了好多,效率也上去了,非常感谢! |
|||
![]() 热心会员
|
txt 根据换行符不同分为 dos、unix、mac 等格式。
regsvr32 不是COM组件,不需要注册,呵呵。而且 bwfr 不用 iconv.dll 一样可以工作(可以使用 windows 的代码页转换API)。 这个问题,我去看了一下源码,因为程序的设计缺陷,在 -encin 是 utf-16/ucs-2 时 -encout 参数必须显式指定。等会儿更新一下 :blush; 恭喜 ![]() 不太可能,bwfr 支持上百种字符集编码,无法自动判断。能做自动判断的都是只支持一类字符集(比如:中文字符集)的编码转换工具。抱歉~ |
||
![]() 高级会员
|
引用:
-ric不是与-rnnlic相反,而是失效 不需要识别100种格式呀,只要自动识别各种unicode就行了,也就是说dos格式txt源文件,自动判别ASCII,还是某一种unicode,并使用同样的格式输出,其它格式使用者一般心里清楚,而unicode的还要慢慢确认,可以考虑一下吗?谢谢! |
|||
![]() 热心会员
|
汗,自己试了一下,在 bwfr 里 -r, -rnnl 以及 -ric, -rnnlic 参数的意义正好判断反了。。。。。。这个太悲剧了。已经修正,请重新下载,十分抱歉~ :blush;
只识别 unicode 倒是不难,但是要做好就比较难了。unicode 虽然可以通过 BOM 签名来识别,但是有些字符集编码和 BOM 签名是有冲突的。比如前一阵很有名的“微软记事本不认联通”就是 BOM 判断的一个失败案例。这还只是 BOM 在 GBK 上面的失败。字符集编码上百种,实在很难验证其中多少和 BOM 签名存在发生冲突的可能。 |
||