Roachin 发表于 2014-1-21 13:35:25

「已解决」替换问题

本帖最后由 Roachin 于 2014-1-21 15:49 编辑

数据.txt

A1B123C-01;2
B2B321C-03;3
==========
请问各位前辈,我想替换如上的数据,但;和后面的数字不替换,底下我应该如何改,感谢帮忙{:face (52):}

Local $sExclude = FileRead('数据.txt')
Local $a2 = [['A', '东'],['B', '南'],['C', '西'],['D', '北'],['E', '胡'],['1',中],['2','发'],['3','白'],['-','杠']]
Local $str = $sExclude, $sTest = $str
For $i = 0 To UBound($a2) - 1 Step 1
      $sTest = StringReplace($sTest, $a2[$i], $a2[$i])
Next
MsgBox(0, $str, $sTest)

afan 发表于 2014-1-21 14:39:36

试试;Local $sExclude = FileRead('数据.txt')
Local $sExclude = _
                'A1B123C-01;2' & @CRLF & _
                'B2B321C-03;3'
Local $a2 = [['A', '东'],['B', '南'],['C', '西'],['D', '北'],['E', '胡'],['1', '中'],['2', '发'],['3', '白'],['-', '杠']]
Local $str = $sExclude, $sTest = $str
For $i = 0 To UBound($a2) - 1 Step 1
        $sTest = StringRegExpReplace($sTest, '(?<!;)' & $a2[$i], $a2[$i])
Next
MsgBox(0, '', $str & @LF & '============' & @LF & $sTest)

Roachin 发表于 2014-1-21 15:48:45

感谢 afan 大大 帮忙,已经可以了

学习当中有好多都是看afan的回文,,,,,非常感谢

Roachin 发表于 2014-2-9 10:47:13

因为 ; 后面不做替换,到百位数字,所以又写信请教afan大

已得到解答,在这边分享给各位

这行改为
$sTest = StringRegExpReplace($sTest, '(?=.*?;\d+)' & $a2[$i], $a2[$i])

确认已经没问题。。。。。再次感谢afan大
页: [1]
查看完整版本: 「已解决」替换问题