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

[文本处理] [已解决]批处理怎样找到同一行的不对称词组。

[复制链接]
发表于 2012-9-27 23:27:48 | 显示全部楼层 |阅读模式
本帖最后由 每天几分 于 2012-9-28 14:54 编辑

【示例】:

幅射→辐射了
爱乌及屋→爱屋及
安兵不动→按兵不动动

【正确对称】:

幅射→辐射
爱乌及屋→爱屋及乌
安兵不动→按兵不动

词组太多,逐个找起来就麻烦了。

谢谢batman!

评分

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

查看全部评分

发表于 2012-9-27 23:37:40 | 显示全部楼层
这个用批实现起来

相当相当蛋疼。。。
 楼主| 发表于 2012-9-28 11:32:04 | 显示全部楼层
回复 2# batman


    不能实现么。。先减去对称的,再导出应该很容易的啊。

思路应该是这样的吧:
  1. ^[\u4e00-\u9fa5]{2}→[\u4e00-\u9fa5]{2}$

  2. ^[\u4e00-\u9fa5]{3}→[\u4e00-\u9fa5]{3}$

  3. ^[\u4e00-\u9fa5]{4}→[\u4e00-\u9fa5]{4}$

  4. ^[\u4e00-\u9fa5]{5}→[\u4e00-\u9fa5]{5}$

  5. ^[\u4e00-\u9fa5]{6}→[\u4e00-\u9fa5]{6}$
复制代码
发表于 2012-9-28 14:37:28 | 显示全部楼层
原来以为要拼音对称。。。
如此以来就容易了(适应于26个字符以内的词组比对)

  1. @echo off&setlocal enabledelayedexpansion
  2. set "code=abcdefghijklmnopqrstuvwxyz"
  3. (for /f "tokens=1,2 delims=→" %%a in (a.txt) do (
  4.   set "str=%%a%code%"&set "var=%%b%code%"
  5.   if "!str:~26!" neq "!var:~26!" echo %%a→%%b
  6. ))>list.txt
  7. start list.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
每天几分 + 1 嗯!就是这样,谢谢了!

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 15:31 , Processed in 0.015591 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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