Trim()
功能不起作用请帮助它不要修剪空白区域。
string samplestring = "172-6573-4955";
string[] array = samplestring .Split('-');
string firstElem = array.First();
string restOfArray = string.Join(" ", array.Skip(1));
array[1] = restOfArray.Trim(); // providing value "6573 4955"
场景是我正在拆分字符串并将第二个和最后一个索引合并为一个,但它与白色空格合并。
答案 0 :(得分:3)
Trim()
从字符串的正面和背面移除空格,而不是在中间。中间的空格由作为" "
方法的参数提供的Join()
插入。您可以改为提供string.empty
。
答案 1 :(得分:2)
Trim用于删除所有前导和尾随空格。而你想要从中间修剪白色空间。你可以尝试这样:
string restOfArray = string.Join("", array.Skip(1));
或更好:
string restOfArray = string.Join(string.Empty, array.Skip(1));
而不是
string restOfArray = string.Join(" ", array.Skip(1));
答案 2 :(得分:0)
Trim按预期工作。取自String.Trim Method:
从中删除所有前导和尾随空白字符 当前的String对象。
您可能的解决方案是:
string restOfArray = string.Join(string.Empty, array.Skip(1));
或者
array[1] = restOfArray.Replace(" ", string.Empty).Trim();
答案 3 :(得分:0)
要将第一个n-let从其余部分中拆分,请使用其他数组,否则最终会出现虚假数据。并使用您在split(-
)中使用的正确分隔符加入:
string restOfArray = string.Join("-", array.Skip(1));
string[] result = new string[] { firstElem, restOfArray };
您不需要Trim()
。
您可以通过以下方式简化代码:
string[] splitCode(string code)
{
string[] segments;
segments = code.Split('-');
return new string[] { segments.First(), string.Join("-", segments.Skip(1)) };
}
答案 4 :(得分:0)
这里真的不需要修剪;你可以简单地拆分字符串并加入你想要的部分:
string source = "172-6573-4955";
string[] splitter = new string[] {"-"};
string[] result;
result = source.Split(splitter, StringSplitOptions.None);
string final = (result[1] + result[2]);
Console.Write(final);
结果:
<强> 65734955
强>
答案 5 :(得分:0)
试试这个:
string samplestring = "172-6573-4955";
string[] array = samplestring.Split(new char[] {'-'},2);
string result = array[1].Replace("-","");
另外,关于随机放置空格的问题,你可以随机解释一下&#34;这里。