分割字符串只满足C#中的要求

时间:2010-02-17 01:25:50

标签: c# string split

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

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

这个工作正常,除非我到了一个名字中带有' - '的乐队,比如SR-71。 但是,由于原始字符串用空格分隔,然后再用 - 和空格(如SR-71 - 明天),我怎么拆分字符串才会发生这种情况?我尝试将分割器更改为字符串并输入

        string[] splitter = { " - " };

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

2 个答案:

答案 0 :(得分:2)

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

您需要致电this overload

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

不要问我为什么。

答案 1 :(得分:0)

您也可以使用

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