从 VB 中的字符串中删除
remove from String in VB
我在Dorpdown中插入了一个选项如下
<option>إختر </option>
当我 select 在任何事件中从服务器端收到此文本时,我都会得到此值
"إختб "
现在我想替换字符串中的这个白色space。我试过替换字符串 class 的方法。但它不起作用。
str = str.replace(" ","")
请提出建议
如果你想从字符串中删除前导或尾随的白色-spaces,你只需要使用String.Trim
,但你必须重新分配return值变量,因为字符串是不可变的:
string text = "إختر ";
text = text.Trim();
请注意,您也可以在这种情况下使用 TrimEnd
。
如果您只想删除 space 个字符(不包括制表符或换行符,它们也是白色的 spaces),请使用:
text = text.Trim(' ');
如果您想从字符串中删除所有 space,您可以这样做:
text = text.Replace(" ", "");
你首先应该做的是解码 HTML,这样
和 &
之类的文本就会转换为对应的文本(" "
和 "&"
).您可以通过以下方式执行此操作:WebUtility.HtmlDecode
. Next you can use 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包括空格、换行、制表符、回车returns等,如果只想去除空格,可以使用:.Trim(' ')
。然后你指定只删除给定的字符列表(这里只有' '
)。
我想你的代码可能是这样的
Dim str As String = "إختر "
str.Replace(" ", "")
但实际上你应该
Dim str As String = "إختر "
str = str.Replace(" ", "")
我刚刚遇到了类似的问题。
事实证明,这个 nbsp 字符是来自 ASCII table 的 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
我在Dorpdown中插入了一个选项如下
<option>إختر </option>
当我 select 在任何事件中从服务器端收到此文本时,我都会得到此值 "إختб "
现在我想替换字符串中的这个白色space。我试过替换字符串 class 的方法。但它不起作用。
str = str.replace(" ","")
请提出建议
如果你想从字符串中删除前导或尾随的白色-spaces,你只需要使用String.Trim
,但你必须重新分配return值变量,因为字符串是不可变的:
string text = "إختر ";
text = text.Trim();
请注意,您也可以在这种情况下使用 TrimEnd
。
如果您只想删除 space 个字符(不包括制表符或换行符,它们也是白色的 spaces),请使用:
text = text.Trim(' ');
如果您想从字符串中删除所有 space,您可以这样做:
text = text.Replace(" ", "");
你首先应该做的是解码 HTML,这样
和 &
之类的文本就会转换为对应的文本(" "
和 "&"
).您可以通过以下方式执行此操作:WebUtility.HtmlDecode
. Next you can use 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包括空格、换行、制表符、回车returns等,如果只想去除空格,可以使用:.Trim(' ')
。然后你指定只删除给定的字符列表(这里只有' '
)。
我想你的代码可能是这样的
Dim str As String = "إختر "
str.Replace(" ", "")
但实际上你应该
Dim str As String = "إختر "
str = str.Replace(" ", "")
我刚刚遇到了类似的问题。 事实证明,这个 nbsp 字符是来自 ASCII table 的 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