首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

C# 移除字串中所有空白字元的多種方法

     編輯:關於C#

問題

需移除字串中的所有空白字元(Space,ASCII 32)。

方法一:逐字元檢查 ASCII 碼(原文方法)

private void button1_Click(object sender, EventArgs e)
{
    textBox2.Text = textBox1.Text;
    CharEnumerator myenum = textBox1.Text.GetEnumerator();
    while (myenum.MoveNext())
    {
        byte[] array = new byte[1];
        array = System.Text.Encoding.ASCII.GetBytes(myenum.Current.ToString());
        int asciiCode = (short)(array[0]);
        if (asciiCode != 32)
        {
            textBox3.Text += myenum.Current.ToString();
        }
    }
}

方法二:使用 String.Replace(簡潔高效)

string result = input.Replace(" ", "");

方法三:使用 Regex 移除所有空白字元(含 Tab、換行)

using System.Text.RegularExpressions;
string result = Regex.Replace(input, @"\s+", "");

方法四:使用 LINQ 過濾

using System.Linq;
string result = new string(input.Where(c => !char.IsWhiteSpace(c)).ToArray());

方法五:StringBuilder 高效能處理大量字串

using System.Text;
StringBuilder sb = new StringBuilder(input.Length);
foreach (char c in input)
{
    if (c != ' ') sb.Append(c);
}
string result = sb.ToString();

效能比較建議

方法適用場景效能
Replace單一字元移除,程式碼最簡潔優
Regex需移除所有空白字元(含 \t \n \r)良
LINQ程式碼可讀性佳,功能彈性大中
StringBuilder大量字串處理、迴圈內修改最佳
CharEnumerator + ASCII教學示範、特殊編碼需求較低

完整範例程式

using System;
using System.Text;
using System.Text.RegularExpressions;
using System.Linq;

public class StringSpaceRemover
{
    public static string RemoveSpaces_Replace(string input) => input.Replace(" ", "");
    
    public static string RemoveSpaces_Regex(string input) => Regex.Replace(input, @"\s+", "");
    
    public static string RemoveSpaces_Linq(string input) => 
        new string(input.Where(c => !char.IsWhiteSpace(c)).ToArray());
    
    public static string RemoveSpaces_StringBuilder(string input)
    {
        var sb = new StringBuilder(input.Length);
        foreach (char c in input) if (c != ' ') sb.Append(c);
        return sb.ToString();
    }
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved