C#我想在" + - * /"之类的符号之前和之后插入一个空格。在文本框中

时间:2015-11-05 16:17:15

标签: c# regex

C#我想在" + - * /"等符号之前和之后插入一个空格。在文本框中

EG。前

85+89/56

85 + 89 / 56

2 个答案:

答案 0 :(得分:4)

您可以使用Regex轻松完成此操作。如果有的话,这也将删除额外的空间:

var text = "85+89/56";
var pattern = @"\s*([+*/-])\s*";

text = Regex.Replace(text, pattern, " $1 ");

答案 1 :(得分:0)

我建议一个简单的单行:

myString = "85+89/56".Replace("+", " + ").Replace("-", " - ").Replace("/", " / ")

如果您需要更换更多字符,请构建一个方法:

string ReplaceSpecialCharacters(string theString, string c, string replacement) 
{
    return theString.Replace(c, replacement);
}

如评论中所述,如果输入中已有空格,您可以在使用String-Replace(" ", "")之前删除它们

编辑:为了更有用,可以扩展该方法:

string ReplaceSpecialCharacters(string theString, string[] searchStrings, string delimiter) 
{
    StringBuilder builder = new StringBuilder(theString);
    for(var search in searchString) 
        builder.Append(theString.Replace(search, delimiter+ search + delimiter);

    return builder.ToString();

}