Board logo

标题: 这个主题不好说明白,进来看一下!非常难! [打印本页]

作者: hy433124shc     时间: 2007-3-29 05:04    标题: 这个主题不好说明白,进来看一下!非常难!

现有一TXT内容 为一五笔编码表

若词后有多个编码则有空格分开,词和第一编码是紧接的, 每行只有一个词,行数很多。

工A
式AAD
工AAAA
工A AAA
工期AAAD
....
....

在这文件中
同一个词存在多次, 且其后的编码也不同 如 工 有时为A 有时为AAAA 有时为 A AAAA
我想做一五笔反查BAT
想把以上转为
SET 工=A AAA AAAA
SET 工期=AAAD
.....
.....
.....
的格式

要求

如工则为


工A
工AAAA
工A AAA

得到
SET 工=A AAA AAAA

就是把工的编码全取出来,做为一个,多的去掉!
作者: Climbing     时间: 2007-3-29 05:40
用批处理做不了这个操作。至少我不知道如何做。
作者: hy433124shc     时间: 2007-3-29 06:02
WHO CAN HELP ME

这么多的词,用手得到那年呀!

要不把里面的相同字词去掉也行

比如说
工得到 SET 工=A

SET 工=AAA

只要得一个就行,不用全
作者: estar     时间: 2007-3-29 07:55
p处理不是拿来处理文本的。p处理是拿来集合命令的
作者: download     时间: 2007-3-29 22:19


  Quote:
Originally posted by hy433124shc at  05:02 PM:
WHO CAN HELP ME

这么多的词,用手得到那年呀!

要不把里面的相同字词去掉也行

比如说
工得到 SET 工=A

SET 工=AAA

只要得一个就行,不用全

用WORD就行了吧
作者: Climbing     时间: 2007-3-29 23:15
你可以用vb或者vbsrcipt这种具有字符串处理功能的编程语言来操作。
作者: bjsh     时间: 2007-3-30 05:02
批处理是不善于处理文本的
作者: vkill     时间: 2007-3-30 05:08
原理上可以做,但我想很复杂
作者: chenall     时间: 2007-3-30 06:10
使用批处理的效率应该不是很高
给你一个参考 .

  Quote:

  1. @echo off
  2. set 编码表=test.txt
  3. set /p word=请输入要查询的字词:
  4. setlocal ENABLEDELAYEDEXPANSION
  5. for /f "usebackq tokens=1* delims=%word%" %%i in (`findstr /r "^%word%[a-z]" %编码表%`) do (
  6.         set bm=!bm! %%i
  7. )
  8. echo %word%=%bm%
  9. endlocal
        chenall 发表于:  2007-03-29  17:03

[ Last edited by chenall on 2007-3-30 at 06:13 AM ]