Board logo

标题: [文本处理] 批处理或者VB脚本去掉文本中指定的字符!感谢! [打印本页]

作者: applearea    时间: 2019-2-19 14:41     标题: 批处理或者VB脚本去掉文本中指定的字符!感谢!

请教大侠:
帮忙写个批处理或者脚本,我想把歌词中的[00:31.71]风[00:32.51]停[00:32.90]了[00:33.26]云[00:33.56]知[00:33.90]道[00:35.01]
转换成:
[00:31.71]风停了云知道
[00:35.01]
实在步行这样也行:去掉文本文件中的数字和标点符号[:.],保留换行符!谢谢!
在此感谢!
作者: applearea    时间: 2019-2-19 16:03

这个是我自己照猫画虎弄的,不太好使!:RegExp.Pattern="[\uff10-\uff190]"这一行不理解怎么写!
:On Error Resume Next
:set fso=CreateObject("scripting.filesystemobject")
:Sub bat
echo off&cls
cscript -nologo -e:vbs "%0"
Exit Sub
:End Sub
set RegExp=new RegExp
set stdin=wscript.stdin
:RegExp.IgnoreCase=1:RegExp.Global=1
:file="1.LRC"
:RegExp.Pattern="[\uff10-\uff190]"
:var=fso.opentextfile(file).readall
:var=RegExp.Replace (var,empty)
:RegExp.Pattern="([\W\da-z]{15})"
:var=RegExp.Replace (var,"$1"&vbcrlf)
:fso.createtextfile("new.txt").write var
wsh.echo var
stdin.readline
作者: applearea    时间: 2019-2-19 16:05

RegExp.Pattern="[\uff10-\uff190]"这一行是关键,请问大侠如何改成对的格式?
作者: xczxczxcz    时间: 2019-2-19 18:51

  1. $str='[00:31.71]风[00:32.51]停[00:32.90]了[00:33.26]云[00:33.56]知[00:33.90]道[00:35.01]'
  2. $a=$str.Split('][') -notmatch '^$'
  3. $ok="[$($a[0])]"+$($a -notmatch ':' -join '') +"`n[$($a[-1])]"
复制代码

作者: flashercs    时间: 2019-2-19 18:56

原文啥格式                              
      ?
作者: xczxczxcz    时间: 2019-2-19 18:59

纯去特殊符号:
  1. $str= $str -replace '\[|\]|\d+:\d+\.\d+' -join ''
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2