Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何清除字符串中的重复空格 dim a as string=“wilcome to sa wecome”_Vb.net_C# 4.0 - Fatal编程技术网

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(),而不是我的评论-在评论发布时间之间只有一秒钟。