删除  从VB中的String

Pra*_*mod 1 vb.net string whitespace replace

我在Dorpdown中插入了一个选项,如下所示

<option>????&nbsp;&nbsp;&nbsp;&nbsp;</option>
Run Code Online (Sandbox Code Playgroud)

当我在任何情况下从服务器端选择此文本时,都会得到此值“ ?????”

现在,我要替换字符串中的空白。我试过了String类的替换方法。但是它不起作用。

str = str.replace("&nbsp;","")
Run Code Online (Sandbox Code Playgroud)

建议

Wil*_*sem 6

您首先要做的是对HTML进行解码,以使像这样的文本&nbsp;&amp;可以转换为对应的文本(" ""&")。您可以执行以下操作:WebUtility.HtmlDecode。接下来,您可以String.Trim用来删除前导和尾部空格。

例:

string s = "????&nbsp;&nbsp;&nbsp;&nbsp;";
string r = WebUtility.HtmlDecode(s).Trim();
Run Code Online (Sandbox Code Playgroud)

或等效的VB.NET:

Dim s As String = "????&nbsp;&nbsp;&nbsp;&nbsp;"
Dim r As String = WebUtility.HtmlDecode(s).Trim()
Run Code Online (Sandbox Code Playgroud)

显然,您可以尝试自己转换&nbsp;为空格。但是在某些示例中,这种情况并不那么明显,您的代码转换器可能会混淆或以错误的方式解码字符串。此外,如果将来W3C的人们对如何在HTML / XML中编码文本改变主意,那么您的程序仍然可以使用。

String.Trim将消除各种空白,包括空格,换行,跳格,回车等,如果你只是想去掉空格,你可以使用:.Trim(' ')。然后,您仅指定删除给定的字符列表(仅此处' ')。