一次替换多个字符串

时间:2018-09-12 12:39:09

标签: vb.net

我有这个字符串abcd,我想用[a | b]替换a并用[c | d]替换b

我尝试了很多方法来做,例如

        Dim varString As String = "abcd"
        varString = varString.Replace("a", "[a|b]")
        varString = varString.Replace("b", "[c|d]")

我得到的结果是

[a | [c | d]] [c | d] cd

我想要这样的

[a | b] [c | d] cd

问题是每次我使用replace函数时,它都会返回以更改以前已经替换的值,因此我用[a | b]替换了a,但是当我执行第二个命令替换b时,它将更改b [a | b]我刚刚更改了,但我不想这么做。

我尝试使用StringBuilder,但结果相同。

请告诉我

2 个答案:

答案 0 :(得分:0)

我通过以这种方式制作数组解决了问题

SELECT GROSSVALUE
   , LAG()GROSSVALUE AS GROSSVALUE_last_hour
FROM DATASOURCE
ORDER BY DATE
   , TIME

答案 1 :(得分:0)

或者只是切换逻辑。但是显然,我认为您正在使用一个基本示例来解决一个更复杂的问题。

dim varString as string = "abcd"
varString = varString.Replace("b" ,"[c|d]")
varString = varString.Replace("a" ,"[a|b]")

那将为您带来预期的结果。