中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 字符串重复部分打印问题 求解
作者:
标题: 字符串重复部分打印问题 求解 上一主题 | 下一主题
ratdaddy
新手上路





积分 2
发帖 2
注册 2010-3-10
状态 离线
『楼 主』:  字符串重复部分打印问题 求解

文件内容如下
asdf1
asdf2
asdf3

如何求出相同部分即“asdf”



2010-3-19 15:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 2 楼』:  

你的问题说明和要求不够详细清楚,以一篇英文文章为例,忽略大小写的时候,就那么20多个字母,单词中出现相同的字母太多了,何况像e、a这样被更多频率使用的字母。
所以,估计你应该限定条件:从行首开始匹配。



批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-3-19 16:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 3 楼』:  

1,本批处理从行首开始匹配
2,本批处理没有对文本内含有敏感字符的情况进行处理
3,被处理的源文件为data.txt
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%l in (data.txt) do >>gu.h echo %%l
:han
set/p H=<gu.h
if not "!H:~%n%,1!"=="" set/a n+=1&goto han
for /l %%i in (1 1 %n%) do set i=%%i&set/a a=%%i-1&set "t=!H:~0,%%i!"&for /f "skip=1 delims=" %%l in (gu.h) do set l=%%l&set "l=!l:~0,%%i!"&if not "!l!"=="!t!" goto :ye
echo 完全相同"%H%"&goto :xing
:ye
if %i%==1 (echo 不存在相同) else echo 相同为"!H:~0,%a%!"
:xing
del gu.h
pause
[ Last edited by Hanyeguxing on 2010-3-19 at 23:54 ]



批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-3-19 23:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: