请教如何把文本里的 a,b,c,d....批量同时替换成 w 呢 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
20 条回复    2019-06-03 10:23:44 +08:00
blackeeper
    1
blackeeper  
   2019-05-31 22:31:49 +08:00
正则替换就可以了
ybyqiji
    2
ybyqiji  
OP
   2019-05-31 22:36:48 +08:00
@blackeeper 从网上看到这个批处理文件,不太成功,问题出在哪里了呢,技术不太行,只能照葫芦画瓢

Private Sub Command1_Click()
Dim FileNumber1, FileNumber2, Str As String
FileNumber1 = FreeFile '得到一个未使用的文件号。
Open "D:\gif-00000\123.txt" For Input As #FileNumber1 '打开要读取的文件
FileNumber2 = FreFile
Open "D:\gif-00000\abc.txt" For Output As #FileNumber2 '打开要写入的文件
While Not EOF(1) ‘直到最后一行
Line Input #FileNumber1, Str ’按行读取文件
Str = Replace(Str, "lkjhgiu111", "大") ‘替换第一个字符
Str = Replace(Str, "lkjhgiu112", "大") ‘替换第一个字符
Str = Replace(Str, "lkjhgiu113", "大") ‘替换第一个字符
Str = Replace(Str, "lkjhgiu114", "大") ‘替换第一个字符
Str = Replace(Str, "lkjhgiu115", "大") ‘替换第一个字符
Str = Replace(Str, "lkjhgiu116", "大") ‘替换第一个字符
Str = Replace(Str, "lkjhgiu117", "大") ‘替换第一个字符
Str = Replace(Str, "lkjhgiu118", "大") ‘替换第一个字符
Str = Replace(Str, "lkjhgiu119", "大") ‘替换第一个字符
Str = Replace(Str, "lkjhgiu120", "大") ‘替换第一个字符
Str = Replace(Str, "lkjhgiu121", "大") ‘替换第一个字符
Str = Replace(Str, "lkjhgiu122", "大") ‘替换第一个字符
Str = Replace(Str, "lkjhgiu123", "大") ‘替换第一个字符

Print #FileNumber2, Str '写入替换后的内容
Wend
Close #FileNumber1 '关闭文件
Close #FileNumber2 '关闭文件
End Sub
silentstorm
    3
silentstorm  
   2019-05-31 22:48:11 +08:00 via Android
楼上这写的是什么玩意儿呀
opengps
    4
opengps  
   2019-05-31 22:49:27 +08:00 via Android   1
4 次全文替换搞定了
silentstorm
    5
silentstorm  
   2019-05-31 22:49:48 +08:00 via Android
随便一个高级文本编辑器都支持正则替换
hoyixi
    6
hoyixi  
   2019-05-31 22:52:12 +08:00
@silentstorm

2 楼这是 VB (Visual Basic)
ysc3839
    7
ysc3839  
   2019-05-31 22:55:32 +08:00 via Android
发一段示例文本吧,不知道你说的 a,b,c,d 是什么情况。
ybyqiji
    8
ybyqiji  
OP
   2019-05-31 23:00:14 +08:00
不太会用正则替换,用了批处理 搞定了 谢谢各位啦
ys0290
    9
ys0290  
   2019-05-31 23:00:25 +08:00 via iPhone
sed -i 's/\|a\|b\|c/w/g' file
这样?
ys0290
    10
ys0290  
   2019-05-31 23:01:07 +08:00 via iPhone
a 前面的\|划掉
ybyqiji
    11
ybyqiji  
OP
   2019-05-31 23:01:22 +08:00
网上找的这个 一葫芦画瓢 搞定了


@echo off
(For /f "delims=" %%i in (a.txt) do (Set str=%%i
SetLocal EnableDelayedExpansion
Set str=!Str:Helloo=hello!
Set str=!Str:Helloo=hello!
Set str=!Str:Helloo=hello!
echo !str!
EndLocal
))>1.txt
start 1.txt
pause>nul
des
    12
des  
   2019-05-31 23:09:07 +08:00
建议学一下正则表达式,以后遇到这种东西都方便很多
基本上现在稍稍高级点的编辑器都支持正则替换
像这样:

如果是想匹配不是单词的字母可以这样
chrisliu1314
    13
chrisliu1314  
   2019-06-01 00:27:58 +08:00 via iPhone
好多编辑器,比如,vscode,都支持批量替换啊
silentstorm
    14
silentstorm  
   2019-06-01 05:54:49 +08:00 via Android
@hoyixi
我知道这是 vba,关键是这写的是什么乱七八糟的啊
Jirajine
    15
Jirajine  
   2019-06-01 06:21:01 +08:00 via Android
楼主你起码学一门脚本语言吧。。
flynaj
    16
flynaj  
   2019-06-01 08:10:28 +08:00 via Android
经常处理文档学一下 Linux 命令,现在 Windows10 下 wsl 可以用,sed -i,2 楼那个多少行的 VBS,一个 sed 就 1 解决。
mzname
    17
mzname  
   2019-06-01 08:48:54 +08:00 via iPhone
渣渣表示只会用 word
勾选通配符

[a,b,c,d]
替换为
w
itechify
    18
itechify  
PRO
   2019-06-01 11:10:24 +08:00 via Android
sed+regex
jifengg
    19
jifengg  
   2019-06-03 10:20:22 +08:00
F12,运行:
```Javascript
"qabcde,c,ccc,dfdfdf".replace(/[abcd]1?/g,'w');
```
jifengg
    20
jifengg  
   2019-06-03 10:23:44 +08:00
@jifengg
以上换成
"qabcde,c,ccc,dfdfdf".replace(/[abcd]{1}/g,'w');
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4259 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 28ms UTC 01:04 PVG 09:04 LAX 17:04 JFK 20:04
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86