同步替换字符串?

时间:2014-08-18 05:53:30

标签: vb.net string replace

我仍然被认为是编程的初学者。我正在创建一个简单的程序来创建"颠倒"样式文本,但我遇到了一个我无法解决的问题。

我检查一个文本框并用String.Replace替换某些字符。但是这里有一个例子:

Input = Input.Replace("d", "p")  'Upside down d
....
Input = Input.Replace("p", "d")  'Upside down p

让所有人再次转向"然后再回到" d" s。还有另一种方法可以同时执行此操作吗?

我很感激答案。感谢。

2 个答案:

答案 0 :(得分:2)

逐个迭代字符,在StringStringBuilder中构建新的StringBuffer,不要更改原来的String引用

编辑 - 示例代码

这是一个示例代码,我不记得VB语法,但我认为以下是正确的:

Dim text As String = "Hello World"

Dim SB as new StringBuilder()

For Each c As Char in text
    If c = "a" Then SB.Append("ɐ")
    If c = "A" Then SB.Append("∀")

    ' ...
    ' ...
    ' The rest of your cases the same way
    ' ...

Next

text = StrReverse(SB.ToString())

答案 1 :(得分:0)

最快(也是最脏的)方法是将“d”替换为“#”等中间字符,然后在函数末尾用“p”替换“#”

编辑:“迭代每个角色”实际上是一个更清洁的解决方案