(限制:系统;仅限)
我希望能够将一个字符串拆分为一个数组并删除空格,我目前有这个:
string[] split = converText.Split(',').Select(p => p.Trim()).ToArray();
编辑: .ToArray 显然也不能使用。
但问题是,我不能使用除核心系统方法之外的任何东西。那么如何在不使用 .select 或其他非核心方式的情况下从拆分或数组中修剪空间。
谢谢!
string[] split =
convertText.Split(new[]{',',' '}, StringSplitOptions.RemoveEmptyEntries);
通过在您的拆分标准中添加一个空格,当您拥有 RemoveEmptyEntries 时,它将摆脱它们。但是,如果条目中有空格,这将失败。在这种情况下,您可以:-
string[] split =
convertText.Split(new[]{','}, StringSplitOptions.RemoveEmptyEntries);
for (int index = 0; index < split.Count; index++)
{
split[index] = split[index].Trim();
}
它应该适用于所有情况:
public static class TrimHelper
{
public static string[] SplitAndTrim(this string str, char splitChar, StringSplitOptions options = StringSplitOptions.RemoveEmptyEntries)
{
List<string> result = new List<string>();
if (str != null)
{
foreach (var item in str.Split(splitChar, options))
{
string val = item.Trim();
if (options == StringSplitOptions.RemoveEmptyEntries && val == string.Empty)
continue;
result.Add(val);
}
}
return result.ToArray();
}
}
用法:
string[] split = "text, ".SplitAndTrim(',').ToArray();