我在Dorpdown中插入了一个选项,如下所示
<option>إختر </option>
当我在任何事件中从服务器端选择此文本时,我得到此值 “إختر”
现在我想替换字符串中的这个空格。我已经尝试过String类的替换方法。但它不起作用。
str = str.replace(" ","")
Plz建议
答案 0 :(得分:5)
首先要解决的问题是对HTML进行解码,以便
等文本以及&
等文本转换为文本对应文件(" "
和"&"
)。您可以使用WebUtility.HtmlDecode
执行此操作。接下来,您可以使用String.Trim
删除前导和尾随空格。
示例:
string s = "إختر ";
string r = WebUtility.HtmlDecode(s).Trim();
或VB.NET等价物:
Dim s As String = "إختر "
Dim r As String = WebUtility.HtmlDecode(s).Trim()
显然,您可以尝试自己将
转换为空格。但有些例子并不那么明显,你的代码转换器可能会以错误的方式混淆或解码字符串。此外,如果将来W3C的人们改变他们对如何用HTML / XML编码文本的想法,那么你的程序仍然可以工作。
String.Trim
将删除所有类型的white-space,包括空格,新行,制表符,回车等。如果您只想删除空格,可以使用:.Trim(' ')
。然后,您只需指定删除给定的字符列表(此处仅' '
)。
答案 1 :(得分:1)
如果要从字符串中删除前导或尾随空格,只需使用String.Trim
,但由于字符串是不可变的,因此必须将返回值重新赋值给变量:
string text = "إختر ";
text = text.Trim();
请注意,在这种情况下您也可以使用TrimEnd
。
如果您只想删除空格字符(不包括标签或也是空白字符的换行符),请使用:
text = text.Trim(' ');
如果你想要删除字符串中的所有空格,你可以这样做:
text = text.Replace(" ", "");
答案 2 :(得分:0)
我想也许你的代码就是这样的
Dim str As String = "إختر "
str.Replace(" ", "")
但实际上你应该
Dim str As String = "إختر "
str = str.Replace(" ", "")
答案 3 :(得分:0)
我刚遇到类似的问题。 事实证明,这个字符是ASCII表中的Chr(160)。因此,对于所有情况,这样的事情是非常有意义的。它适用于选定的区域:
Public Sub remove_space_in_string()
Dim r_range As Range
For Each r_range In Selection
r_range = Trim(r_range)
r_range = Replace(r_range, vbTab, "")
r_range = Replace(r_range, " ", "")
r_range = Replace(r_range, Chr(160), "")
Next r_range
End Sub