lsf1012 发表于 2010-8-7 20:34:15

如何替换字符串?

如果有一个字符串分五部分:ABCBD(第个字母代表相应的几个字符),如何用正则只替换掉第二个B,即为ABCB'D(B'为新的一个字符串)?

afan 发表于 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)

lsf1012 发表于 2010-8-7 21:38:01

高手就是高手,顺便再问下如何只替换最后一位,无论总共有几个相同的

afan 发表于 2010-8-7 22:06:36

$Str = 'ABCBDBA'
$R0 = 'B' ;要替换的
$R1 = "B0'" ;替换成的
$Str = StringRegExpReplace($Str, '(.*)(' & $R0 & ')(.*)', '${1}' & $R1 & '$3')
MsgBox(0, '替换后', $Str)

lsf1012 发表于 2010-8-8 20:23:04

我想请问一下,${1}与$3分别是什么,我记得有一个代表对应括号匹配的部分,那另一个是什么?
页: [1]
查看完整版本: 如何替换字符串?