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

[文本处理] 批处理如何判断字符串是否为纯数字?

[复制链接]
发表于 2016-4-10 14:26:42 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-4-10 14:39 编辑

例如a.txt--------文本如下

  1. 越强大越自律
  2. 44525
  3. 明眸゜ Sunshine
  4. 447384

  5. 448120
  6. ZzzZzz-
  7. 46426
  8. 古 奈
  9. 4762
  10. self
  11. 49495
  12. 4975100
  13. 人定胜天
  14. 501709
  15. 避风港
  16. 5264
  17. .
  18. 527
  19. Mr 张
  20. 535555
  21. 萌帝。
  22. 571027
  23. 黄昏.回忆
复制代码
处理之后b.txt-----------如下

  1. 44525
  2. 447384
  3. 448120
  4. 46426
  5. 4762
  6. 4762
  7. ....
复制代码
要求只提取含有数字的行,其中不存在数字汉字同行的情况。
求解。
记得以前有见过此类相比较判断的帖子。

评分

参与人数 1PB -4 收起 理由
pcl_test -4 提问前先使用论坛搜索,勿发同类贴、重复贴

查看全部评分

发表于 2016-4-10 14:36:21 | 显示全部楼层
本帖最后由 CrLf 于 2016-4-10 15:14 编辑
  1. @findstr /v "[^0-9]" a.txt >b.txt
复制代码
发表于 2016-4-10 14:38:09 | 显示全部楼层
发表于 2016-4-10 14:45:01 | 显示全部楼层
本帖最后由 codegay 于 2016-4-10 15:05 编辑

楼主名为a python
  1. """
  2. 2016年4月10日 14:44:09 codegay
  3. """
  4. #方法1,isdigit()
  5. with open("11.txt") as f:
  6.     for r in f:
  7.         if r.strip().isdigit():
  8.             print(r)

  9. #方法2正则
  10. import re
  11. with open("11.txt") as f:
  12.     for r in f:
  13.         if re.match(r"^\d+$",r):
  14.             print(r)
复制代码
向ivor同学学习。

评分

参与人数 1技术 +1 收起 理由
ivor + 1 格式+1

查看全部评分

发表于 2016-4-10 14:45:02 | 显示全部楼层
  1. @echo off&findstr /rc:"^ *[0-9][0-9]* *$" test.txt>new.txt
复制代码
回复 1# apython
 楼主| 发表于 2016-4-10 15:31:03 | 显示全部楼层
回复 3# pcl_test


    嗯
发表于 2016-4-10 17:48:29 | 显示全部楼层
回复 1# apython
简易版精确判断,{特殊字符有不确定因素谨慎使用}
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in ('type "%~f1"')do (set "#%~nx1=%%i"
  3. for /l %%j in (0,1,8192)do if /i not "!#%~nx1:~%%j,1!"=="" (
  4.   if /i "!#%~nx1:~%%j,1!"=="0" (rem:
  5.   )else if /i "!#%~nx1:~%%j,1!"=="1" (rem:
  6.   )else if /i "!#%~nx1:~%%j,1!"=="2" (rem:
  7.   )else if /i "!#%~nx1:~%%j,1!"=="3" (rem:
  8.   )else if /i "!#%~nx1:~%%j,1!"=="4" (rem:
  9.   )else if /i "!#%~nx1:~%%j,1!"=="5" (rem:
  10.   )else if /i "!#%~nx1:~%%j,1!"=="6" (rem:
  11.   )else if /i "!#%~nx1:~%%j,1!"=="7" (rem:
  12.   )else if /i "!#%~nx1:~%%j,1!"=="8" (rem:
  13.   )else if /i "!#%~nx1:~%%j,1!"=="9" (rem:
  14.   )else (set "#%~nx1="
  15.   )
  16. )
  17. if /i not "!#%~nx1!"=="" echo,!#%~nx1!
  18. )
  19. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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