C#我想在诸如“+-*”之类的符号前后插入一个空格/";在文本框中

本文关键字:一个 空格 文本 quot 插入 符号 | 更新日期: 2023-09-27 18:20:47

C#我想在文本框中的符号(如"+-*/")前后插入一个空格

例如。之前

85+89/56

之后

85 + 89 / 56

C#我想在诸如“+-*”之类的符号前后插入一个空格/";在文本框中

使用Regex可以轻松做到这一点。这也将删除额外的空间,如果有:

var text = "85+89/56";
var pattern = @"'s*([+*/-])'s*";
text = Regex.Replace(text, pattern, " $1 ");

我建议一个简单的单行:

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();
}