VB.net中的字符串替换函数如何不起作用?
我写了一些代码。代码如下所示。第一部分是将html读入字符串格式。第二部分是搜索字符串中的一个标记,并用其他字符串替换该字符串 第一部分(我测试了很多次,效果很好) 第二部分(我对它进行了多次测试,搜索和替换都不起作用。我多次检查“TELTEXT”是否包含字符串。“The_key_string”是否包含在“TELTEXT”字符串中。我在VB.net中使用QuickWatch进行了检查。但是,替换函数没有起作用) 请帮忙。我不知道我在哪里犯了错误返回新字符串而不是修改源字符串。您必须将其重新分配给变量:VB.net中的字符串替换函数如何不起作用?,vb.net,Vb.net,我写了一些代码。代码如下所示。第一部分是将html读入字符串格式。第二部分是搜索字符串中的一个标记,并用其他字符串替换该字符串 第一部分(我测试了很多次,效果很好) 第二部分(我对它进行了多次测试,搜索和替换都不起作用。我多次检查“TELTEXT”是否包含字符串。“The_key_string”是否包含在“TELTEXT”字符串中。我在VB.net中使用QuickWatch进行了检查。但是,替换函数没有起作用) 请帮忙。我不知道我在哪里犯了错误返回新字符串而不是修改源字符串。您必须将其重新分配给
TempText = TempText.Replace("the_key_string", "replace_by_this_string")
TempText = TempText.Replace("the_key_string", "replace_by_this_string")
从MSDN:
返回一个新字符串,在该字符串中,当前实例中出现的所有指定字符串都替换为另一个指定字符串
您必须将值分配给某个对象,例如:
TempText = TempText.Replace("the_key_string", "replace_by_this_string")
这是执行字符串替换,但不会将结果放在任何地方:
TempText.Replace("the_key_string", "replace_by_this_string")
您需要将结果分配给以下内容:
TempText = TempText.Replace("the_key_string", "replace_by_this_string")
字符串是不可变的,这意味着一旦创建它们,就不能修改它们。因此,您必须创建一个新变量并将其分配给字符串变量:
TempText = TempText.Replace("the_key_string", "replace_by_this_string")
TempText = TempText.Replace("the_key_string", "replace_by_this_string")
MSDN::
将字符串指定给字符串变量后,该字符串将被删除
不可变,这意味着您不能更改其长度或内容。什么时候
如果以任何方式更改字符串,VisualBasic将创建一个新字符串并
放弃前一个。字符串变量然后指向新的
绳子
Replace方法返回修改后的字符串 你需要这样的东西:
Dim TextPath = C:xxxxxx
TempText = ReadTextFile(TextPath)
Dim ModifiedString as String
ModifiedString = TempText.Replace("the_key_string", "replace_by_this_string")
“这是一个字符串”
如果用“whatever”替换“string”,则该字符串应为:“this is a whatever”。所以你能做的就是把它放到一个新的字符串中。怎样?replace方法返回字符串,因此很容易:)
请参见:字符串是不可变的,您需要根据Replace的结果重新分配
testext
。