Vb.net 如何清除字符串中的重复空格 dim a as string=“wilcome to sa wecome”
预期结果:Vb.net 如何清除字符串中的重复空格 dim a as string=“wilcome to sa wecome”,vb.net,c#-4.0,Vb.net,C# 4.0,预期结果: "Wilcome to sa WeCame" 你可以用 你可以用 你可以把绳子分开,然后重新组装。值得注意的是,-方法有一个重载,允许您指定在拆分字符串时更改行为的选项。在这种情况下,应规定: Dim a As String = " wilcome to sa WeCame " Dim parts = a.Split(New Char() {" "c}, StringSplitOptions.RemoveEmptyEntries) Dim res
"Wilcome to sa WeCame"
你可以用
你可以用
你可以把绳子分开,然后重新组装。值得注意的是,-方法有一个重载,允许您指定在拆分字符串时更改行为的选项。在这种情况下,应规定:
Dim a As String = " wilcome to sa WeCame "
Dim parts = a.Split(New Char() {" "c}, StringSplitOptions.RemoveEmptyEntries)
Dim result = String.Join(" ", parts)
你可以把绳子分开,然后重新组装。值得注意的是,-方法有一个重载,允许您指定在拆分字符串时更改行为的选项。在这种情况下,应规定:
Dim a As String = " wilcome to sa WeCame "
Dim parts = a.Split(New Char() {" "c}, StringSplitOptions.RemoveEmptyEntries)
Dim result = String.Join(" ", parts)
执行大多数文本操作的最简单方法是通过。在.NET中,可以在
System.Text.RegularExpressions
下找到正则表达式库。请确保至少了解这方面的基本知识,它是程序员不可或缺的工具
匹配两个或多个空格的基本模式相当简单:“+”
。也就是说:一个空间,再加上至少一个空间。另一种编写方法是“{2,}”
。结果如下:
dim a=“wilcome to sa wecome”
dim result=Regex.Replace(a,“+”,“”)
不幸的是,这还不够:
Console.WriteLine(“[{0}]”,result)
“[wilcome to sa Wecome]
stirng的两端都有冗余空间。现在,我们可以(几乎)任意地使用正则表达式,并且完全有可能修复表达式来解决这个问题。1但是,有一种更简单的方法:Trim()
结果字符串:
dim result=Regex.Replace(a,“+”,“”)。Trim()
一周中的任何一天,简单战胜聪明。今天是星期五
1只是为了好玩,这里有一个方法:
dim result=Regex.Replace(文本,“(^+)|”(+($)|)(()+)”,“$2$4$6”)
这使用了这样一个事实:在.NET的正则表达式中使用括号可以捕获与括号内内容对应的匹配文本。在替换字符串中,我们可以插入捕获的部分
拼图中的第二块是
^
匹配字符串的起始位置,而$
匹配字符串的结尾位置。这样,我们有三种选择:要么匹配字符串的开头,后跟空格,要么匹配字符串的结尾,后跟空格,或者匹配一个空格,后跟多个空格。然后用开头或一个空格(取决于匹配的内容)替换所有这些内容。执行大多数文本操作的最简单方法是通过。在.NET中,可以在System.Text.RegularExpressions
下找到正则表达式库。请确保至少了解这方面的基本知识,它是程序员不可或缺的工具
匹配两个或多个空格的基本模式相当简单:“+”
。也就是说:一个空间,再加上至少一个空间。另一种编写方法是“{2,}”
。结果如下:
dim a=“wilcome to sa wecome”
dim result=Regex.Replace(a,“+”,“”)
不幸的是,这还不够:
Console.WriteLine(“[{0}]”,result)
“[wilcome to sa Wecome]
stirng的两端都有冗余空间。现在,我们可以(几乎)任意地使用正则表达式,并且完全有可能修复表达式来解决这个问题。1但是,有一种更简单的方法:Trim()
结果字符串:
dim result=Regex.Replace(a,“+”,“”)。Trim()
一周中的任何一天,简单战胜聪明。今天是星期五
1只是为了好玩,这里有一个方法:
dim result=Regex.Replace(文本,“(^+)|”(+($)|)(()+)”,“$2$4$6”)
这使用了这样一个事实:在.NET的正则表达式中使用括号可以捕获与括号内内容对应的匹配文本。在替换字符串中,我们可以插入捕获的部分
拼图中的第二块是
^
匹配字符串的起始位置,而$
匹配字符串的结尾位置。这样,我们有三种选择:要么匹配字符串的开头,后跟空格,要么匹配字符串的结尾,后跟空格,或者匹配一个空格,后跟多个空格。然后用开始或一个空格(取决于匹配的内容)替换所有这些内容。Regex将为sureRegex执行此操作。Regex将为sureRegex执行此操作,在开始和结束处保留一个空格。为了简单起见,我建议使用.Trim():Regex.Replace(a.Trim(),“\s{2,},”,“)
。这也是我的第一个想法,但它不会起作用。@KonradRudolph只是为了让阅读本文的人明白,Konrad的评论适用于建议的答案,其中没有.Trim(),而不是我的评论-在评论发布时间之间只有一秒钟。这在开始和结束时留下了一个空间。为了简单起见,我建议使用.Trim():Regex.Replace(a.Trim(),“\s{2,},”,“)
。这也是我的第一个想法,但它不会起作用。@KonradRudolph只是为了让阅读本文的人明白,Konrad的评论适用于建议的答案,其中没有.Trim(),而不是我的评论-在评论发布时间之间只有一秒钟。