Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VB.net中的字符串替换函数如何不起作用?_Vb.net - Fatal编程技术网

VB.net中的字符串替换函数如何不起作用?

VB.net中的字符串替换函数如何不起作用?,vb.net,Vb.net,我写了一些代码。代码如下所示。第一部分是将html读入字符串格式。第二部分是搜索字符串中的一个标记,并用其他字符串替换该字符串 第一部分(我测试了很多次,效果很好) 第二部分(我对它进行了多次测试,搜索和替换都不起作用。我多次检查“TELTEXT”是否包含字符串。“The_key_string”是否包含在“TELTEXT”字符串中。我在VB.net中使用QuickWatch进行了检查。但是,替换函数没有起作用) 请帮忙。我不知道我在哪里犯了错误返回新字符串而不是修改源字符串。您必须将其重新分配给

我写了一些代码。代码如下所示。第一部分是将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