从字符串中替换N个string.Empty

时间:2016-12-01 18:56:20

标签: c# string

我必须在字符串上用“”替换空格(长度可变)。如果这是我需要做的全部,那将很容易,但我只需要在句子/段落的开头替换空格。

我认为创建只有白色空格的子串可能有所帮助,但我面临的问题是没有一个独特的角色可以启动所有段落/句子。

如何从段落中替换空格中的空格?

示例:

< >< >< >< >< >< > Hello World of strings and replacementments。

参考:每个< >代表空格,因为此网站上的文本编辑器不允许在句子的开头使用空格。

我想删除< >仅

2 个答案:

答案 0 :(得分:1)

试试这个。

var myString = "        Hello World .  ";

var countOfSpaces = myString.TakeWhile(c => c.Equals(' ')).Count();

var newString = string.Concat(Enumerable.Repeat(" ", countOfSpaces)) + myString.Substring(countOfSpaces);

DotNetFiddle:https://dotnetfiddle.net/376Fmk

答案 1 :(得分:1)

尝试一下:

string newString = Regex.Replace(oldString, "^\\s+|\\s+$", "");

编辑:您可以根据需要更改正则表达式模式:

  • ^\\s+ - 字符串开头的空格。
  • \\s+$ - 字符串末尾的空格。
  • ^\\s+|\\s+$ - 与其他两种模式相匹配的组合。

编辑2:要替换字符而不是删除它们,您可以执行以下操作:

Match m = Regex.Match(oldString, "^\\s+");
string newString = new StringBuilder(m.Value.Length)
                           .Insert(0, "&$160;", m.Value.Length)
                           .ToString() +     
                       oldString.Substring(m.Value.Length);