[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 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. ....
复制代码
要求只提取含有数字的行,其中不存在数字汉字同行的情况。
求解。
记得以前有见过此类相比较判断的帖子。
1

评分人数

    • pcl_test: 提问前先使用论坛搜索,勿发同类贴、重复贴PB -4

回复 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
复制代码
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

回复 3# pcl_test


    嗯

TOP

  1. @echo off&findstr /rc:"^ *[0-9][0-9]* *$" test.txt>new.txt
复制代码
回复 1# apython

TOP

本帖最后由 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

评分人数

    • ivor: 格式+1技术 + 1
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

TOP

本帖最后由 CrLf 于 2016-4-10 15:14 编辑
  1. @findstr /v "[^0-9]" a.txt >b.txt
复制代码

TOP

返回列表