Board logo

标题: [已结]从文本文件中抽取特征字串 [打印本页]

作者: victor888     时间: 2008-11-12 14:48    标题: [已结]从文本文件中抽取特征字串

高手的代码,炉火纯青! 文本文件,名为:a.txt,其内容如下: a sig1 b sig3 c sig2 e sig1 f sig3 g sig3 h sig1 i sig2 我现在要得到这样的结果: sig1: a e h sig2: c i sig3: b f g == 注意:这个文本文件的sig字符并不知道具体是什么,也不知道数量有多少个。但格式肯定是一个字母+一个空格+特征字符。 谢谢! [ Last edited by victor888 on 2008-11-12 at 19:14 ]

作者: yishanju     时间: 2008-11-12 15:48
应该是需要外部工具了

作者: HAT     时间: 2008-11-12 15:56
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1-2 delims= " %%a in (a.txt) do (
  if not defined var_%%b (
    set var_%%b=%%a
  ) else (
    set var_%%b=!var_%%b! %%a
  )
)
for /f "tokens=2-3 delims=_=" %%a in ('set var_') do (
  echo.%%a: %%b
)
pause

作者: judas     时间: 2008-11-12 16:35
楼上 正解

作者: tireless     时间: 2008-11-12 16:58
@echo off
setlocal EnableDelayedExpansion
for /f "tokens=1,2" %%a in (a.txt) do (
  set sig_%%b=!sig_%%b!%%a 
)
for /f "delims=_= tokens=2,3" %%a in ('set sig_') do (
  echo %%a: %%b
)
pause
———————————————————————————————————— 3 楼的 set var_%%b=%%a 用得真好,我原来写的是 set %%b=!%%b!%%a ,没有加前缀,这样就无法在 set 里面找出来。 [ Last edited by tireless on 2008-11-12 at 17:04 ]

作者: kennybao     时间: 2008-11-12 16:59
路过,学习下