2009-05-22 182 views
0

我有一个字符串如下;用一个字符串替换多个相同的字符

dim str as string = "this  is a string  . " 

我想识别这些多空间字符并用一个空格字符替换。使用替换函数将取代所有这些,那么做这种任务的正确方法是什么?

+0

欺骗。检查出:http://stackoverflow.com/questions/206717/how-do-i-replace-multiple-spaces-with-a-single-space-in-c – 2009-05-22 14:00:50

回答

0

使用正则表达式。由该其他用户SO的建议here

2
import System.Text.RegularExpressions    

dim str as string = "This is a  test ." 
dim r as RegEx = new Regex("[ ]+") 
str = r.Replace(str, " ") 
2

使用Regex类,以匹配“一个或多个空格”的图案,然后用一个空格取代所有这些实例。

下面是C#代码来做到这一点:

Regex regex = new Regex(" +"); 
string oldString = "this  is a string  . "; 
string newString = regex.Replace(oldString, " "); 
1

我会使用\ S +改性剂,这是更容易阅读

public Regex MyRegex = new Regex(
     "\\s+", 
    RegexOptions.Multiline 
    | RegexOptions.CultureInvariant 
    | RegexOptions.Compiled 
    ); 


// This is the replacement string 
public string MyRegexReplace = " "; 

string result = MyRegex.Replace(InputText,MyRegexReplace); 

或者在VB

Public Dim MyRegex As Regex = New Regex(_ 
     "\s+", _ 
    RegexOptions.Multiline _ 
    Or RegexOptions.CultureInvariant _ 
    Or RegexOptions.Compiled _ 
    ) 


Public Dim MyRegexReplace As String = " " 


Dim result As String = MyRegex.Replace(InputText,MyRegexReplace) 
相关问题