标题: [文本处理] [已解决]批处理怎样找到同一行的不对称词组。 [打印本页]
作者: 每天几分 时间: 2012-9-27 23:27 标题: [已解决]批处理怎样找到同一行的不对称词组。
本帖最后由 每天几分 于 2012-9-28 14:54 编辑
【示例】:
幅射→辐射了
爱乌及屋→爱屋及
安兵不动→按兵不动动
【正确对称】:
幅射→辐射
爱乌及屋→爱屋及乌
安兵不动→按兵不动
词组太多,逐个找起来就麻烦了。
谢谢batman!
作者: batman 时间: 2012-9-27 23:37
这个用批实现起来
相当相当蛋疼。。。
作者: 每天几分 时间: 2012-9-28 11:32
回复 2# batman
不能实现么。。先减去对称的,再导出应该很容易的啊。
思路应该是这样的吧:- ^[\u4e00-\u9fa5]{2}→[\u4e00-\u9fa5]{2}$
-
- ^[\u4e00-\u9fa5]{3}→[\u4e00-\u9fa5]{3}$
-
- ^[\u4e00-\u9fa5]{4}→[\u4e00-\u9fa5]{4}$
-
- ^[\u4e00-\u9fa5]{5}→[\u4e00-\u9fa5]{5}$
-
- ^[\u4e00-\u9fa5]{6}→[\u4e00-\u9fa5]{6}$
复制代码
作者: batman 时间: 2012-9-28 14:37
原来以为要拼音对称。。。
如此以来就容易了(适应于26个字符以内的词组比对)- @echo off&setlocal enabledelayedexpansion
- set "code=abcdefghijklmnopqrstuvwxyz"
- (for /f "tokens=1,2 delims=→" %%a in (a.txt) do (
- set "str=%%a%code%"&set "var=%%b%code%"
- if "!str:~26!" neq "!var:~26!" echo %%a→%%b
- ))>list.txt
- start list.txt
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |