正则表达式替换多个项目

时间:2014-01-17 09:59:56

标签: regex vb.net replace

是否可以用多个选项替换多个字符? a已替换为1,依此类推

Private Sub Foo()
    Dim example As String = "+a+b+c+d+e"
    ' a = 1
    ' b = 2
    ' c = 3
    ' d = 4
    ' e = 5
    MessageBox.Show(System.Text.RegularExpressions.Regex.Replace(example, "(a|b|c|d|e)", "stuck here"))
End Sub

我能想到的唯一方法是使用多个表达式。

1 个答案:

答案 0 :(得分:0)

通过正则表达,我认为这很难。但是,您可以使用String.Replace和循环来解决您的问题。

<强>伪代码

map := {
    {'a', '1'},
    {'b', '2'},
    {'c', '3'},
    {'d', '4'},
    {'e', '5'}
}

s := '+a+b+c+d+e'

For i:=0 To s.length()
  If map.contains(s[i]) Then
     s[i] := map.getValue(s[i])
  End If
End For