批处理 替换文本替换文本内容

批处理能否用正则表达式实现文本内容的替换_批处理吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:5,636贴子:
批处理能否用正则表达式实现文本内容的替换收藏
比方我有一个文本1.txt,内容如下:==========14:womeng :womeng14cc4958收到[积分诶]566; 55数量的[精品3山东老家]福建 14:womeng
:womeng 14:womeng
:womeng [cc] 4958收到积分诶566 4 [5]5[数量]的[精品3山东老家福建 14:]womeng
:womeng:womeng
[wo[me]ng] ==========有没有方法利用正则表达式将中括号中的内容全部替换为空,注意,中括号个数未知,里面内容也不尽相同,没什么规律,求大神解决!
好像word还是记事本有个替换功能允许使用通配符,所以[通配符] 替换为空
最简单的是下载一个 sed:sed "s/\[.*\]//g" 1.txt &2.txt
win7自带有findstr,这个支持正则。试试这个。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或您当前的位置: -&
-& 中文文本文字批处理程序:TextPro(强大) ┆V6.5.1.0 中文版
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
中文文本文字批处理程序:TextPro(强大) ┆V6.5.1.0 中文版
国产软件/文字处理/绿色软件
Win9X/2000/XP/Win2003
中文文本文字批处理程序:TextPro(强大) 软件简介:
TextPro是一款功能很强大的中文文本批处理程序。它支持中文内码转换、简繁互转、支持正则的查找替换、文件合并、文件比较、还可调用TTS语音库朗读文本等功能,支持批量处理,64位系统。
这是款非常不错的中文文本批处理程序。其中内码以及简繁转换可以直接在界面上点击按钮完成,TextPro 还有删除半角字符,转全角,转半角,规范行首,删除段内回车,删除置标符,按行(首)排序,删除重复行,自动分段等等功能。
更新如下:1.支持unicode码。强烈推荐使用宋体字库,才能满足unicode大字库。不再支持fixedsys字体。当无法按GBK内码保存时,在提示时可以自动选择保存为UTF-8格式。2.采用Mozilla识别内码的算法,提高GBK和Big5的识别率。3.以弹出对话框显示查找结果(旧版本中是在状态栏中显示)&4.修改替换算法,防止替换时重复转换。支持繁简转换时的括号对的文字不转换。5.TextPro时打开时主窗口保持非最大化状态。6.建立TextPro的配置库config.ini,不再需要访问系统注册表,保持TextPro的绿色安装特性。7.增加字符数统计。8.保存文件时,去文件名的前后空格。9.用鼠标双击页签空白栏可新建文件,双击页签可关闭文件。用鼠标右键单击页签可关闭、保存、另存为文件。10.增加了多语言配置,即简体中文、繁体中文和英文可选。11.增加了“段间空一行”和“简单排版”功能。12.补全了TextProV5.1的功能,例如删除半角字符等。13.增加了“统计段落数”和“统计选定文字出现的次数”的功能。14.增加了普通的打印功能。15.增加了自定义工具栏及其图标(支持各种图片)的功能,例如你可以把所有自定义替换表做一个单独的侧边工具栏。16.增加了“打印”功能,包括了打印设置和打印预览。17.增加了“自定义快捷健”。依次点击“菜单-&设置-&设置快捷键”,点击新加的行,然后在弹出的菜单中选择命令和组合键。18.在“设置-选项-程序”下增加了“集成右键菜单”和“文件关联”的选项(如果在WIN7下,需要以管理员权限运行)。19.在“设置-选项-程序”下增加了“粘贴时自动剔除论坛干扰码”选项,此功能较复杂,请慎用。20.新增使用自定义替换表进行二次正则替换的方法,即可对查找到第n对匹配的内容使用第m个自定义替换表进行二次正则替换。21.增加在“编辑”菜单中“复制所有查找结果行”的命令(查找时须勾上“显示所有匹配项”)。22.增强查找/替换按钮和功能。23.将“转换”菜单重新规范,更名为“功能”菜单。24.更换成漂亮的图标和回车符。25.显示行号。26.自定义替换表,重写替换算法(主要是查找匹配)。27.批处理,目录选择增加下拉框,记录最近使用的目录。28.自动合并文件对话框,选择目录。29.查找替换对,替换字符串可以是空。30.自定义工具栏,可以拖动按钮。31.可调用其它TTS语音库朗读文本。32.记录最后30个文件的光标位置。33.增加“删除行首空格”的功能。34.增加“查找不匹配的行”的选项。
依次点击进入 中文文本文字批处理程序:TextPro(强大) ┆V6.5.1.0 中文版 下载页
与“中文文本文字批处理程序:TextPro(强大)”相似并与“批处理程序”相关的软件:
网友评论 &&(评论内容只代表网友观点,与本下载站立场无关!,本站只提供软件免费下载!)
Copyright &
偶要下载() All Rights Reserved
鲁ICP备号 - QQ:832469 mail:
中国提供的所有软件均来自互联网,下载个人纯属学习交流之用,如有侵犯您的版权请与我联系,我们会马上改正请在下载24小时内删除![已解决] 批处理怎样读取文本指定内容进行替换? - BAT求助&讨论 -
批处理之家 批处理_BAT_CMD_DOS_VBS_Perl_Python_PowerShell - Powered by Discuz!
帖子94&积分874&技术1 &捐助0 &注册时间&
[已解决] 批处理怎样读取文本指定内容进行替换?
本帖最后由 pZjVa0 于
23:40 编辑
这个问题陈述起来略显复杂。
其实问题很简单,我有文本 a.txt 和 b.txt
其中文本 a.txt 中包含一个唯一的关键词 #name# ,我想把文本 b.txt 的内容全部写入并替换掉#name# (非从文本最后一行写入,而是在#name#的原位置,把#name#替换成 b.txt 的内容),然后生成文本 c.txt
我的思路是对a.txt进行每行的读取并对比查找,当没有发现包含 #name# 的关键词时直接写入c.txt,而找到 #name# 后,直接替换成 b.txt 的内容并写入c.txt。
要求代码简洁和高效
附件: 您需要才可以下载或查看附件。没有帐号?
感谢给帖子标题标注[已解决]字样PB + 2
帖子2011&积分13846&技术589 &捐助0 &注册时间&
b.txt单行超长,纯批搞不定滴,除非。。。
帖子94&积分874&技术1 &捐助0 &注册时间&
本帖最后由 pZjVa0 于
00:22 编辑
& & 不会的,这个用批处理可以做到
帖子94&积分874&技术1 &捐助0 &注册时间&
本帖最后由 pZjVa0 于
13:35 编辑
帖子要沉了..
帖子94&积分874&技术1 &捐助0 &注册时间&
这个问题很难解决吗?
帖子2011&积分13846&技术589 &捐助0 &注册时间&
任何人相对于论坛来说,都是普通的一员,你我都不例外。所以,你,并不是什么香饽饽,别人不会抢着回答你的问题。有人回答你,你应该暗自庆幸上辈子积德了;没人回答也正常,也应该。
艾特这个,艾特那个,是不是你的问题除了论坛老大别人只好靠边站了?
这家伙,越想越恶心。
表示理解,但这样有点不合适PB -2
帖子4650&积分15660&技术585 &捐助100 &注册时间&
本帖最后由 CrLf 于
18:24 编辑
大家看到帖子如果有思路就自然会回帖,2楼解释是正确的,你不愿相信也难怪他说气话。
不过楼主也别@了,@不是同一个帖子的回帖者是无效的,而且混论坛时间久的人水平多差不多,你看楼上的技术分就知道了,各人的差异只是处理特定情况的思路。
像顶楼这种超长行的情况楼主要求用纯批实现,等于是扬短避长,谁都搞不定,@Microsoft 也没法解决,除非不限制必须用纯批。
@cmd /q/v/c&=创意带来无限可能 &for %%@ in (0 -)do for /l %%# in (1 1 7)do for /f %%$ in ('copy/z %0 nul')do set/p=!;:~,%%@%%#!&&!;:~%%@%%#!%%$&%0&&%0
帖子94&积分874&技术1 &捐助0 &注册时间&
本帖最后由 pZjVa0 于
23:49 编辑
CrLf for /f &delims=& %%i in ('findstr /n .* a.txt') do (
& & & & set &str=%%i&
& & & & setlocal enabledelayedexpansion
& & & & set &str=!str:#name#=abc!&
& & & & set &str=!str:*:=!&
& & & & if /i &!str!& equ &0x#hex#& (
& & & & & & & & & & & & &&结果.txt set/p=0x&nul
& & & & & & & & & & & & &&结果.txt type b.txt
& & & & & & & & & & & &&&结果.txt
& & & & & & & & ) else (
& & & & & & & & & & & & &&结果.!str!
& & & & & & & & )
& & & & endlocal
& & )
del b.txt复制代码其实方法还是有的。
感谢Z-Y-J前辈。
我前面否认&没可能&这个说法是因为我看到前辈给我提供的思路,而我想把题目放出来让论坛大家一起讨论是希望能更多的参考大家的思路获得学习。
任何人相对于论坛来说,都是普通的一员,你我都不例外。所以,你,并不是什么香饽饽,别人不会抢着回答你的 ...
apang 发表于
16:51 如果前面有什么言论让你觉得身份或者其他感觉不舒服那我这里跟你道歉吧,也许只是鉴于回复的较少让自己感觉比较着急。
大家看到帖子如果有思路就自然会回帖,2楼解释是正确的,你不愿相信也难怪他说气话。
不过楼主也别@了,@不 ...
CrLf 发表于
18:21 轻易说没可能不像CrLf说的话,起码在您老发现引号分割之前大多数人也是认为没可能的。
呀,回帖时忽然有了个猜想,验证下竟然真的可以,看来可以推翻delims不能用&作为分隔符的观点了:
CrLf 发表于
感谢论坛各位一直以来给予的帮助。
帖子757&积分4548&技术137 &捐助0 &注册时间&
看了半天没明白你的目的是什么,原来就是将a.txt中的某个关键字替换为b.txt的整个内容,却非要说得那么高深莫测。在怀疑别人的能力之前,请先弄清楚自己的需求能否让别人理解,这种简单道理跟你在公司上班时的一样,如果项目经理不能将需求明确化,下面的员工能地做好工作吗?
帖子4650&积分15660&技术585 &捐助100 &注册时间&
本帖最后由 CrLf 于
02:52 编辑
这个真没有,cmd 处理不了这么大的,虽然可以用 for /f tokens 分解,但分解了也没法赋值和替换,你还是用 awk 或者 vbs 之类的吧,速度都很快:@gawk &BEGIN{getline&\&b.txt\&;b=$0;getline&}{sub(\&#name#\&,b);print}& a.txt&c.txt复制代码Const key = &#name#&
Set fso = WScript.CreateObject(&Scripting.Filesystemobject&)
Set a = fso.OpenTextFile(&a.txt&,1)
Set b = fso.OpenTextFile(&b.txt&,1)
Set c = fso.CreateTextFile(&c.txt&,True)
c.Write Replace(a.ReadAll,key,b.ReadAll)复制代码
感谢分享技术 + 1
@cmd /q/v/c&=创意带来无限可能 &for %%@ in (0 -)do for /l %%# in (1 1 7)do for /f %%$ in ('copy/z %0 nul')do set/p=!;:~,%%@%%#!&&!;:~%%@%%#!%%$&%0&&%0
[通过 QQ、MSN 分享给朋友]用批处理怎么自动替换文本文件内的内容,比如里边有要变成这样的_百度知道
用批处理怎么自动替换文本文件内的内容,比如里边有要变成这样的
s:=;tokens=*&quot!s;2; %%i (1;f &quot@echo offsetlocal enabledelayedexpansion(for &#47.txt) do (set s=%%iset s=!echo !))&gt
其他类似问题
批处理的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁当前位置: >
> 问个批处理如何修改文件内容的问题DOS批处理中,我想在一个文件中寻找某个字符串,找到的话,替换成另
问个批处理如何修改文件内容的问题DOS批处理中,我想在一个文件中寻找某个字符串,找到的话,替换成另
ledchina & at
问个批处理如何修改文件内容的问题DOS 批处理中,我想在一个文件中寻找某个字符串,找到的话,替换成另外的字符串比如:想在 init.txt 文件中寻找&ABC&& 找的的话替换成 &//ABC&在网上找到个代码  C/C++ code   @echo off cls setlocal enabledelayedexpansion for /f &tokens=*& %%a in ('findstr /i [abc] b.txt') do (
set zf=%%a
set zf=!zf:abc=a`!
for /f &tokens=1* delims=`& %%i in (&!zf!&) do (
if &%%j& neq && (
set jg=%%j
set jg=!jg:~,1!
但我对批处理的东西 还是了解甚少!希望高人给我解读一下这段代码啥意思!多谢!
for set 命令循环什么的 dos 下看帮助就明白了,我只说一点:!zf! 像这种是延迟变量;批处理读取命令时是按行读取的(另外例如for命令等,其后用一对圆括号闭合的所有语句也当作一行),在读取某行命令时,如果其中有变量,则变量值应该取上一行的值,而为了能够及时感知环境变量的动态变化,批处理设计了变量延迟。简单来说,在读取了一条完整的语句之后,不立即对该行的变量赋值,而会在某个单条语句执行之前再进行赋值,也就是说“延迟”了对变量的赋值。@echo off &setlocal enabledelayedexpansion &set a=4 &set a=5 & echo !a! &pause& 结果:5lee_imine & &
& & (0)(0)
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&湘教QS2-164&&增值电信业务经营许可证湘B2-

我要回帖

更多关于 批处理替换文件内容 的文章

 

随机推荐