不从c#中的字符串中修剪空白
本文关键字:修剪 空白 字符串 不从 | 更新日期: 2023-09-27 18:20:07
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"
场景是,我正在拆分字符串,并将第二个和最后一个索引合并为一个,但它正在与空白合并。
Trim()
删除字符串前后的空白,而不是在中间的空白。中间的空白空间是由作为参数提供给Join()
方法的" "
插入的。您可以提供string.empty
。
Trim用于删除所有前导和尾部空白。你想从中间修剪空白。你可以这样尝试:
string restOfArray = string.Join("", array.Skip(1));
或更好:
string restOfArray = string.Join(string.Empty, array.Skip(1));
而不是
string restOfArray = string.Join(" ", array.Skip(1));
Trim按预期工作。取自字符串。修剪方法:
从当前String对象。
您可能的解决方案是:
string restOfArray = string.Join(string.Empty, array.Skip(1));
或
array[1] = restOfArray.Replace(" ", string.Empty).Trim();
要将第一个n-let与其余的n-let分开,请使用一个额外的数组,否则您将得到伪造的数据。并使用您在拆分中使用的正确分隔符(-
)进行连接:
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)) };
}
这里真的不需要修剪;你可以简单地拆分字符串并连接你想要的部分:
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
试试这个:
string samplestring = "172-6573-4955";
string[] array = samplestring.Split(new char[] {'-'},2);
string result = array[1].Replace("-","");
另外,对于你关于随机放置空格的问题,你能在这里解释一下"随机"吗。