我想我需要一些字符串替换功能的帮助。这个不替换并给我同样的东西。可能是什么问题,伙计们?
FormattedURl = mysite.com/Merchant.aspx?1=lkdflfdfgj3242
lblclick.Text.Replace("<a class=linkclass href=http://www.mysite.com/ target=_blank > </a>",
"<a class=linkclass href=" + FormattedURL1 + "target=_blank ></a>");
提前谢谢!!
答案 0 :(得分:8)
您需要将文本分配回变量或控件。
replace函数将返回一个字符串,而不是更改当前实例。
lblclick.Text = lblclick.Text.Replace("<a class=linkclass href=http://www.mysite.com/ target=_blank > </a>",
"<a class=linkclass href=" + FormattedURL1 + "target=_blank ></a>");
答案 1 :(得分:4)
字符串是不可变的,因此字符串上的所有函数都返回新实例。因此,要查看函数的效果,您必须分配结果。
lblclick.Text = lblclick.Text.Replace("<a class=linkclass href=http://www.mysite.com/ target=_blank > </a>", "<a class=linkclass href=" + FormattedURL1 + "target=_blank ></a>");
来自Replace的文档:
返回一个全新的字符串 在...中出现指定的字符串 当前实例被替换为 另一个指定的字符串。
答案 2 :(得分:1)
它不会修改现有实例,而是返回带有更改的实例。
来自MSDN ......
此方法不会修改该值 当前实例相反,它 返回一个新的字符串,其中包含all oldValue的出现被替换 by newValue。
因此,您需要存储返回的值并将其设置在标签上,或者只需将标签设置为返回值。
答案 3 :(得分:1)
不要忘记string
是c#是不可变的。因此,Replace
无法在适当的位置改变它。相反,它会返回一个替换完成的新副本。