c# - 仅当超过一定大小时才从字符串中删除空格

标签 c#

我有这个字符串:

Corso Vittorio Emanuele II 9          20122          Milano

这个字符串最初是这样的格式:

Corso Vittorio Emanuele II 9
      20122
      Milano

所以我使用 Regex 表达式删除了 NewLine:

var stringWithoutNewLine = Regex.Replace(text, "\t|\n|\r", string.Empty).Trim();

现在我尝试以这种方式删除空格:

 return Regex.Replace(stringWithoutNewLine, @"\s+", string.Empty);

但它没有按预期工作,因为我得到了这个结果:

CorsoVittorioEmanueleII920122Milano

什么时候应该:

Corso Vittorio Emanuele II 9 20122 Milano

最佳答案

将正则表达式从 @"\s+" 更改为 @"\s{2,}"。它将删除从 2 到(某种)无限数量重复的空格。然后,正如 Juharr 指出的那样,用一个空格替换:

Regex.Replace(yourString, @"\s{2,}", " ");

关于c# - 仅当超过一定大小时才从字符串中删除空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39792756/

相关文章:

javascript - 如何防止将数据传递给 Controller

c# - Moq 枚举在 FirstOrDefault 上消失

c# - 由于其保护级别,属性(property)无法进入

c# - 如何在不使用 GLUT 的情况下在 OpenGL 中绘制带纹理的环面?

c# - 使用 Entity Framework 的唯一主键

c# - 在不同的 View 模型之间共享PropertyChanged数据

javascript - 获取选中的输入复选框的 id 并添加到列表中

c# - 通过引用 Sharepoint 文档添加 Outlook 附件

c# - 如何测量应用程序加载所有使用的程序集所花费的时间?

c# - 如何在不使用 foreach 的情况下将 ArrayList 转换为强类型泛型列表?