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

[文本处理] 批处理如何排除(删除)字符串长度(字符个数)小于指定数值的行?

[复制链接]
发表于 2016-3-26 16:54:36 | 显示全部楼层 |阅读模式
  1. zhenxiong
  2. zhenpin
  3. zhenpacky
  4. zhenniuniu
  5. zhenniua
  6. zhenlk
  7. zhenhuayanan
  8. 蛋蜜汁
  9. 蛋蛋唱唱
  10. 弹棉花花
  11. 淡笑拈花
  12. 淡若星辰
  13. 淡秋
  14. 淡淡的风过
  15. 但是功夫
  16. 单行鹄
  17. 单身小逗比
  18. 丹彤
  19. 代号秒杀
复制代码
想把文本中,长度小于 5个字符的内容直接全部过滤掉,请问该如何实现呢?
发表于 2016-3-26 17:30:11 | 显示全部楼层
本帖最后由 codegay 于 2016-3-26 18:38 编辑

findstr /rc:"......*"
对中文无效.一个中文需要两个点.
发表于 2016-3-26 18:29:27 | 显示全部楼层
  1. //&cls&cscript -nologo -e:jscript "%~f0"<"文本.txt"&pause&exit
  2. while (!WScript.StdIn.AtEndOfStream) {
  3.     var str = WScript.StdIn.ReadLine();
  4.     if(!/^\s*$/.test(str)&&str.length>=5)WScript.StdOut.WriteLine(str);
  5. }
复制代码
发表于 2016-3-26 18:54:26 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('type test.txt') do (
  3.         set "str=%%a"
  4.         if not "!str:~4,1!"=="" (echo %%a)
  5. )
  6. pause>nul
复制代码
回复 1# Rasm
发表于 2016-3-26 23:48:29 | 显示全部楼层
  1. @mshta http://bathome.net/s/hta/ "type('test.txt').split(/\r\n/).grep(/^.{5,}$/).join('\r\n')" >new.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 21:24 , Processed in 0.017326 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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