我正在制作游戏 The Sims 3 的注册文件创建者,原来是俄语版。
我想要做的是将所有相关参数更改为用户选择的参数。
reg file有多个“RU”字符串,“ru-RU”和执行路径相同(C:\ Users \ Lollo \ Desktop \ Nuova cartella \ The Sims 3.Gold Edition.v 21.0.150 +商店\)。
这是我用来替换字符串的代码:
Dim replacetext As String = TextBox1.Text
If RichTextBox1.SelectedText.Length <= 0 Then
Exit Sub
End If
Dim s As String = "RU"
Dim nextPos As Integer
nextPos = RichTextBox1.Text.IndexOf(RichTextBox1.SelectedText)
While ((nextPos < RichTextBox1.Text.Length) And (nextPos >= 0))
RichTextBox1.SelectionStart = nextPos
RichTextBox1.SelectionLength = s.Length
RichTextBox1.Text = RichTextBox1.Text.Replace(s, replacetext)
nextPos = RichTextBox1.Text.IndexOf(s, nextPos + 1)
End While
然而它无效。
这就是我的GUI呈现给用户的方式:
任何人都可以建议我做错了吗?
答案 0 :(得分:0)
我宁愿建议使用string.replace并替换您的值,而不是按照接近它的方式进行操作。
看起来有点像这样:
TextBox1.Text = Textbox1.Text
.Replace("ru-RU",ComboBox2.Text)
.Replace("RU",ComboBox3.Text)
我没有所有细节,所以完全做到这一点很困难,但你似乎想要的方式可能有点长篇大论。
另一个建议是使用正则表达式并替换那种方式。
编辑:
忽略案例,风险略高。
TextBox1.Text = Textbox1.Text
.ToLower()
.Replace("ru-ru",ComboBox2.Text)
.Replace("ru",ComboBox3.Text)