代码之家  ›  专栏  ›  技术社区  ›  Dominic K

仅当满足C中的要求时才拆分字符串#

  •  1
  • Dominic K  · 技术社区  · 16 年前

    我收到这样的原始字符串:“艺术家之歌”。 使用此代码,我使用“-”作为spliiter拆分字符串:

        char[] splitter = { '-' };
        string[] songInfo = new string[2];
        songInfo = winAmp.Split(splitter);
    

    这一切都很好,除了当我来到一个名字中有“-”的乐队,比如SR-71。 但是,由于原始字符串先用空格分隔,然后用空格分隔,再用空格分隔(如SR-71-明天),我将如何拆分字符串以实现此目的?我尝试将拆分器更改为字符串并输入

            string[] splitter = { " - " };
    

    但它返回没有重载匹配。

    2 回复  |  直到 16 年前
        1
  •  2
  •   SLaks    16 年前

    出于某种原因, string.Split

    你需要打电话 this overload :

    string[] songInfo = winAmp.Split(new string[] { " - " }, StringSplitOptions.None);
    

        2
  •  0
  •   rerun    16 年前

     Match M = System.Text.RegularExpressions.Regex.match(str,"(.*?)\s-\s(.*)");
     string Group = M.Groups[1].Value;
     string Song = M.Groups[2].Value;