从字符串C#中删除空格(简单!)

时间:2014-05-22 17:38:28

标签: c# string spaces

大家好我无法找出为什么我的代码无效,任何帮助都会非常感激!

我有一个给定的字符串,每个数字之间都有数字和空格,我必须删除这些空格,这样我才能将所有数字粘在一起..

    string nums = "1 2 3 4 5";
    for (int i = 0; i < nums.Length; i++)
    {
        if (nums[i].ToString() == " ")
        {
            nums[i].ToString() = "";
        }
    }

我也尝试过使用.Replace(&#34;&#34;,&#34;&#34;);但是再一次没有成功,我无法弄清楚我做错了什么..我需要一个简单,初学友好的解决方案!

3 个答案:

答案 0 :(得分:5)

.NET中的字符串是不可变的。调用nums[i].ToString()会为您提供一个新字符串,而无需修改nums

Replace是可行的方法,但您必须将结果分配回nums

string nums = "1 2 3 4 5";

nums = nums.Replace(" ", "");

这是必要的,因为Replace不会修改源字符串。它会返回新的。

答案 1 :(得分:1)

此方法将删除字符串中的空格。它的作用是遍历每个char,然后将其与UTF-16空间值进行比较。如果它是一个空间,它就不会添加它。

public String RemoveSpaces(String withSpaces){
    StringBuilder sb = new StringBuilder();

    for (int i = 0; i < withSpaces.Length; i++)
    {
        if (withSpaces[i] != 32)
        {
           sb.Append(withSpaces[i]);
        }
    }

    return sb.ToString();
}

答案 2 :(得分:0)

您正在分配函数调用(ToString())的输出,这是错误的。使用String.Replace替换字符串中的字符。