web-dev-qa-db-ja.com

文字間の空白を削除する方法

C#で文字間の空白を削除するにはどうすればよいですか?

Trim()を使用すると、文字列の最初と最後の空のスペースを削除できます。たとえば、" C Sharp ".Trim()は_"C Sharp"_を返します。

しかし、文字列をCSharpにする方法は?一時変数と共にforまたは_for each_ループを使用してスペースを削除できます。しかし、C#(.Net framework 3.5)のようにこれを行うためのTrim()の組み込みメソッドはありますか?

22

String.Replace メソッドを使用できます

string str = "C Sharp";
str = str.Replace(" ", "");

または、すべての空白文字(スペース、タブ、改行...)を削除する場合

string str = "C Sharp";
str = Regex.Replace(str, @"\s", "");
46
Julien Hoarau

すべての単語の間に1つのスペースを確保したい場合。次のように行うこともできます。

string.Join(" ", inputText.Split(new char[0], StringSplitOptions.RemoveEmptyEntries).ToList().Select(x => x.Trim()));
3
Reyan Chougle

String.Replace を使用して、すべての空白を何も置き換えません。

例えば

string newString = myString.Replace(" ", "");
3
Iain Ward

すべての単語の間に1つのスペースを確保したい場合。これでうまくいくはずです。

 public static string TrimSpacesBetweenString(string s)
    {
        var mystring  =s.RemoveTandNs().Split(new string[] {" "}, StringSplitOptions.None);
        string result = string.Empty;
        foreach (var mstr in mystring)
        {
            var ss = mstr.Trim();
            if (!string.IsNullOrEmpty(ss))
            {
                result = result + ss+" ";
            }
        }
        return result.Trim();

    }

文字列の間の文字列を削除するので、入力が

var s ="c           sharp";
result will be "c sharp";
1
Parminder
//Remove spaces from a string just using substring method and a for loop 
static void Main(string[] args)
{
    string businessName;
    string newBusinessName = "";
    int i;

    Write("Enter a business name >>> ");
    businessName = ReadLine();

    for(i = 0; i < businessName.Length; i++)
    {
        if (businessName.Substring(i, 1) != " ")
        {
            newBusinessName += businessName.Substring(i, 1);
        }
    } 

    WriteLine("A cool web site name could be www.{0}.com", newBusinessName);
}
1
Dave

このメソッドは、計算されたプロパティを利用して「productName」と言うクラスを構築し、空白を取り除いて、スペースのない製品名を使用する画像と同等のURLを作成するようなものに最適です。例えば:

    namespace XXX.Models
    {
        public class Product
        {
            public int ProductID { get; set; }
            public string ProductName { get; set; }
            public string ProductDescription { get; set; }

            public string ProductImage
            {
                get { return ProductName.Replace(" ", string.Empty) + ".jpg"; }
            }
        }
    }

したがって、この回答では、w69rdyと非常によく似た方法を使用しましたが、例ではそれを使用し、さらに「」の代わりにstring.Emptyを使用しました。 .Net 2.0以降は違いはありませんが、私のコードを読む必要のある他の人にとっては、読みやすく、理解しやすいと思います。また、コードブロックに含まれるすべての引用符で失われることがあるので、これも好みです。

0
Eric Bishard
var str="  c sharp  "; str = str.Trim();
        str = Regex.Replace(str, @"\s+", " ");  ///"c sharp"
0
Mekala V
string myString = "C Sharp".Replace(" ", "");
0
Andy Rose