如何在C#中將多個空格替換為單個空格?


在C#中,有多種方法可以將多個空格替換為單個空格。

String.Replace − 返回一個新的字串,其中當前字串中所有指定的Unicode字元或字串都被替換為另一個指定的Unicode字元或字串。

Replace(String, String, Boolean, CultureInfo)

String.Join 使用指定的每個元素或成員之間的分隔符,連線指定陣列的元素或集合的成員。

Regex.Replace − 在指定的輸入字串中,用指定的替換字串替換與正則表示式模式匹配的字串。

使用Regex的示例

示例

 線上演示

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方法將分割後的陣列用單個空格連線起來。

更新於:2020年8月19日

3K+瀏覽量

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.