找回密码
 加入
搜索
查看: 2464|回复: 4

[AU3基础] 如何替换字符串?

[复制链接]
发表于 2010-8-7 20:34:15 | 显示全部楼层 |阅读模式
如果有一个字符串分五部分:ABCBD(第个字母代表相应的几个字符),如何用正则只替换掉第二个B,即为ABCB'D(B'为新的一个字符串)?
发表于 2010-8-7 21:04:38 | 显示全部楼层
$Str = 'ABCBDB'
$x = 2 ;替换第几个
$R0 = 'B' ;要替换的
$R1 = "B0'" ;替换成的
$Str = StringRegExpReplace($Str, '(.*?)((?:' & $R0 & '.*?){' & $x - 1 & '})(.*?)(' & $R0 & ')(.*)', '$1$2${3}' & $R1 & '$5')
MsgBox(0, '替换后', $Str)

评分

参与人数 1金钱 +20 收起 理由
3mile + 20 学习了

查看全部评分

 楼主| 发表于 2010-8-7 21:38:01 | 显示全部楼层
高手就是高手,顺便再问下如何只替换最后一位,无论总共有几个相同的
发表于 2010-8-7 22:06:36 | 显示全部楼层
$Str = 'ABCBDBA'
$R0 = 'B' ;要替换的
$R1 = "B0'" ;替换成的
$Str = StringRegExpReplace($Str, '(.*)(' & $R0 & ')(.*)', '${1}' & $R1 & '$3')
MsgBox(0, '替换后', $Str)
 楼主| 发表于 2010-8-8 20:23:04 | 显示全部楼层
我想请问一下,${1}与$3分别是什么,我记得有一个代表对应括号匹配的部分,那另一个是什么?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-21 23:30 , Processed in 0.076892 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表