你的位置:首页 > ASP.net教程

[ASP.net教程]字符串的分割操作


 static void Main(string[] args)    {      //重复分割符问题的实践和演示      //实践运用的场景||、|同为分割符,2替换为空时出现的|||情况      string content = "1234567890";      string replaceOptions = "1|a||2|||3|||4|c";      Console.WriteLine(replaceContent(content, replaceOptions));      Console.ReadKey();    }

 /**     * 适用于1|a||2|||3|c模式分割,兼容多个|||的情况     **/    public static string replaceContent(string content, string filterWord)    {      ArrayList filterWhiteSpace = new ArrayList();      spliteMuliSymbol(filterWord, ref filterWhiteSpace);      for (int i = 0; i < filterWhiteSpace.Count; i++)      {        string[] replaceArr = filterWhiteSpace[i].ToString().Split('|');        content = Regex.Replace(content, replaceArr[0], replaceArr[1]);      }      return content;    }

 public static void spliteMuliSymbol(string filterWord, ref ArrayList filterWhiteSpace)    {      //判断是否存在替换为空的情况      if (filterWord.Contains("|||"))      {        int whiteSpaceIndex = filterWord.IndexOf("|||");        ArrayList arrHalf = new ArrayList();        string firstHalf = filterWord.Substring(0, whiteSpaceIndex + 1);        string latterHalf = filterWord.Substring(whiteSpaceIndex + 3);        arrHalf.Add(firstHalf);        arrHalf.Add(latterHalf);        for (int i = 0; i < arrHalf.Count; i++)        {          spliteMuliSymbol(arrHalf[i].ToString(), ref filterWhiteSpace);        }      }      else      {        string[] filterWordArray = Regex.Split(filterWord, @"\|\|");        foreach (string temp in filterWordArray)        {          filterWhiteSpace.Add(temp);        }      }    }