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

[文本处理] [已解决] 批处理如何提取txt文本每一行中含指定字符串的字段里数字最小的

[复制链接]
发表于 2009-4-17 09:17:24 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-7-22 21:59 编辑

我有个文本,几万行,每行都有US,有些行有两个以上US,想求一个批处理,要达到的目的:每行只有一个US,取数字小的。急用!!谢谢您!

示例:
EP1538234-A2; US2005153145-A1; JP2005187803-A; CN1629211-A; KR2005052991-A; KR634288-B1; JP4097648-B2
EP1538586-A2; US2005123706-A1; US7279209-B2
WO9325385-A; WO9325385-A1; AU9345317-A; DE4392791-T; US5573622-A; US5972140-A; JP2001501547-W

结果:
US2005153145
US7279209
US557362

[ 本帖最后由 lxh623 于 2009-4-17 15

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢主动给标题标注[已解决]字样

查看全部评分

发表于 2009-4-17 10:45:45 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (a.txt) do (
  3.      set "str=%%a"&set "str=!str:-= !"
  4.      for %%b in (!str!) do (
  5.            set "var=%%b"
  6.            if  "!var:~,2!" equ "US" (
  7.                if not defined min  set "min=!var:~2!"
  8.                if !min! gtr !var:~2! set "min=!var:~2!"
  9.           )
  10.      )
  11.      echo US!min!&set "min="
  12. )
  13. pause>nul               
复制代码

[ 本帖最后由 batman 于 2009-4-17 10:47 编辑 ]

评分

参与人数 1PB +3 收起 理由
lxh623 + 3 感谢!

查看全部评分

 楼主| 发表于 2009-4-17 11:12:22 | 显示全部楼层
谢谢版主!
代码中,怎么没有保存到b.txt?请问,结果在哪里?
发表于 2009-4-17 12:05:49 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=" %%a in (a.txt) do (
  3.   set "var=%%a" & set "var=!var:us=盘:\!" & set min=2147483647
  4.   for %%a in (!var:-^=.!) do (
  5.     if %%~da==盘: if %%~na lss !min! set min=%%~na
  6.   )
  7.   echo US!min!
  8. ))>b.txt
复制代码

评分

参与人数 1PB +3 收起 理由
lxh623 + 3 感谢!

查看全部评分

发表于 2009-4-17 12:16:31 | 显示全部楼层

回复 3楼 的帖子

你在顶楼提问时说过要保存到b.txt?
 楼主| 发表于 2009-4-17 15:36:47 | 显示全部楼层
原帖由 Batcher 于 2009-4-17 12:16 发表
你在顶楼提问时说过要保存到b.txt?

谢谢您!
我的确忘了存入b.txt。严格的批处理语言如同逻辑推理,一步一步严丝合缝。搞批处理的哥们也这样严谨认真。
不过建议关于文本修改或者在原文或者另建文件。

[ 本帖最后由 lxh623 于 2009-4-17 15:37 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 16:13 , Processed in 0.040962 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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