如何修剪字符之间的空格

时间:2010-10-11 10:02:46

标签: c# whitespace

如何删除c#中字符之间的空格?

Trim()可用于删除字符串开头和结尾处的空白空格。例如" C Sharp ".Trim()结果为"C Sharp"

但是如何将字符串变成CSharp?我们可以使用forfor each循环以及临时变量来移除空间。但C#(.Net framework 3.5)中是否有任何内置方法可以像Trim()一样执行此操作?

9 个答案:

答案 0 :(得分:44)

您可以使用String.Replace方法

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

或者如果你想删除所有空格字符(空格,制表符,换行符......)

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

答案 1 :(得分:2)

使用String.Replace替换所有空格。

例如

string newString = myString.Replace(" ", "");

答案 2 :(得分: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";

答案 3 :(得分:1)

//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);
}

答案 4 :(得分:0)

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

答案 5 :(得分:0)

我发现这个方法非常适合做一些事情,比如构建一个利用计算属性的类来表示“productName”并剥离空白以创建一个URL,该URL等于使用没有空格的productname的图像。例如:

    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之后没有区别,但我发现对于那些可能需要阅读我的代码的人来说,阅读和理解起来要容易得多。我也更喜欢这个,因为我有时会迷失在代码块中的所有引号中。

答案 6 :(得分:0)

var str="  c sharp  "; str = str.Trim();
        str = Regex.Replace(str, @"\s+", " ");  ///"c sharp"

答案 7 :(得分:0)

如果要在每个单词之间保持一个空格。您也可以这样操作:

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

答案 8 :(得分:0)

如果要删除一个单词中的所有空格:

input.Trim().Replace(" ","")

如果要删除句子中的多余空格,则应使用以下内容:

input.Trim().Replace(" +","")

正则表达式“ +”将检查文本中是否有一个或多个以下空格字符,并将它们替换为一个空格。