【问题标题】:Splitting string only it meets requirements in C#仅拆分字符串满足 C# 中的要求
【发布时间】:2010-02-17 01:25:50
【问题描述】:

我正在尝试将歌曲标题分成两个字符串 - 艺术家和歌曲。 我收到这样的原始字符串:“艺术家 - 歌曲”。 使用此代码,我使用 '-' 作为拆分器拆分字符串:

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

这一切都很好,除非我遇到一个名字中带有“-”的乐队,比如 SR-71。 但是,由于原始字符串用空格隔开,然后是 - 和空格(如 SR-71 - Tomorrow),我将如何拆分字符串以便发生这种情况?我尝试将拆分器更改为字符串并输入

        string[] splitter = { " - " };

在里面,但它返回没有重载匹配。

【问题讨论】:

    标签: c# string split


    【解决方案1】:

    出于某种原因,string.Split 没有只接受字符串数组的重载。

    您需要拨打this overload:

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

    别问我为什么。

    【讨论】:

    • 也可以使用隐式类型数组稍微缩短:new [] { " - " }
    【解决方案2】:

    你也可以使用

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-16
      • 2017-06-16
      • 2011-02-13
      相关资源
      最近更新 更多