拆分字符串并删除没有.select的空格

时间:2013-04-16 04:14:42

标签: c# arrays split core trim

(限制:系统;仅限)

我希望能够将一个字符串拆分成一个数组并删除这些空格,我现在有这个:

string[] split = converText.Split(',').Select(p => p.Trim()).ToArray();

编辑:此外.ToArray显然无法使用。

但问题是,我不能使用其他任何核心系统方法。那么如何在不使用.select或其他非核心方式的情况下修剪分割或数组中的空格。

谢谢!

2 个答案:

答案 0 :(得分:7)

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();
 }

答案 1 :(得分:0)

它适用于所有情况:

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();