大家好我无法找出为什么我的代码无效,任何帮助都会非常感激!
我有一个给定的字符串,每个数字之间都有数字和空格,我必须删除这些空格,这样我才能将所有数字粘在一起..
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;);但是再一次没有成功,我无法弄清楚我做错了什么..我需要一个简单,初学友好的解决方案!
答案 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
替换字符串中的字符。