在C#中,有几种方法可以用单个空格替换多个空格。
String.Replace-返回一个新字符串,其中当前字符串中所有出现的指定Unicode字符或字符串都替换为另一个指定的Unicode字符或字符串。
替换(字符串,字符串,布尔值,CultureInfo)
String.Join使用每个元素或成员之间的指定分隔符来连接指定数组的元素或集合的成员。
Regex.Replace-在指定的输入字符串中,将与正则表达式模式匹配的字符串替换为指定的替换字符串。
使用正则表达式的示例-
using System; using System.Text.RegularExpressions; namespace DemoApplication{ class Program{ public static void Main(){ string stringWithMulipleSpaces = "Hello World. Hi Everyone"; Console.WriteLine($"String with multiples spaces: {stringWithMulipleSpaces}"); string stringWithSingleSpace = Regex.Replace(stringWithMulipleSpaces, @"\s+", " "); Console.WriteLine($"String with single space: {stringWithSingleSpace}"); Console.ReadLine(); } } }
输出结果
上面程序的输出是
String with multiples spaces: Hello World. Hi Everyone String with single space: Hello World. Hi Everyone
在上面的Regex.Replace示例中,我们确定了额外的空格并用单个空格替换
使用string.Join的示例-
using System; namespace DemoApplication{ class Program{ public static void Main(){ string stringWithMulipleSpaces = "Hello World. Hi Everyone"; Console.WriteLine($"String with multiples spaces: {stringWithMulipleSpaces}"); string stringWithSingleSpace = string.Join(" ", stringWithMulipleSpaces.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)); Console.WriteLine($"String with single space: {stringWithSingleSpace}"); Console.ReadLine(); } } }
输出结果
上面程序的输出是
String with multiples spaces: Hello World. Hi Everyone String with single space: Hello World. Hi Everyone
在上面的代码中,我们使用Split方法将文本拆分为多个空格,然后使用Join方法将单个数组合并为拆分后的数组。