2016-06-08 78 views
-1

我想在此字符串如何在不考虑字符长度的情况下将字符串拆分为某个字符?

现在我有分裂与-字符字符串工作。 到目前为止,我首先将字符串拆分成行,然后找到-的出现,并用单个*替换行,然后组合整个字符串并再次拆分它们。

我试图让数据

string[] set = 
{ 
    "abc 
    def", 
    "efg 
    hij", 
    "xyz 
    pqr" 
} 

有没有更好的方式来做到这一点?

+0

在这个例子中“abcdef”被视为单个字符串或两个单独的字符串? –

+0

单行不同行tho。 – Drag0nKn1ght

+0

'String.Split'的确如此..不知道你甚至试过了什么。 –

回答

4
var spitStrings = yourString.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); 

如果我明白你的问题,这上面的代码解决它。

+1

你赢了这一轮。 – fuzz

+0

大声笑,他们花了太多时间来了解 –

+0

这个问题,我很抱歉缺乏解释。那么,现在考虑一下优势吧! :) – Drag0nKn1ght

1

我很困惑你到底在问什么,但是不会这么做?

string[] seta = 
{ 
    "abc\ndef", 
    "efg\nhij", 
    "xyz\npqr" 
} 

\n = CR (Carriage Return) // Used as a new line character in Unix

\r = LF (Line Feed) // Used as a new line character in Mac OS

\n\r = CR + LF // Used as a new line character in Windows

(char)13 = \n = CR // Same as \n

如果我理解你对分裂-的那么下面应该工作的问题。

string s = "abc-def-efg-hij-xyz-pqr"; // example? 
string[] letters = s.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); 

如果这是你的阵列看起来像此刻什么,那么你可以通过它循环如下:

string[] seta = { 
    "abc-def", 
    "efg-hij", 
    "xyz-pqr" 
}; 

foreach (var letter in seta) 
{ 
    string[] letters = letter.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); 
    // do something with letters? 
} 
+0

的数量我想用'-------'分割字符串。不管'-'的数量多少# – Drag0nKn1ght

1

可以使用使用特定字符或字符串(此处为 - )的字符串拆分函数。 输出将是字符串数组。然后选择你想要的任何字符串。 例子:

1

我敢肯定,这下面的代码将帮助你......

string m = "adasd------asdasd---asdasdsad-------asdasd------adsadasd---asdasd---asdadadad-asdadsa-asdada-s---adadasd-adsd"; 
    var array = m.Split('-'); 

    List<string> myCollection = new List<string>(); 

    if (array.Length > 0) 
    { 
     foreach (string item in array) 
     { 
      if (item != "") 
      { 
       myCollection.Add(item); 
      } 
     } 
    } 

    string[] str = myCollection.ToArray(); 

,如果是的话那么不要忘记,以纪念我的回答感谢。 ...;)

0
string set = "abc----def----------------efg----hij--xyz-------pqr" ; 
var spitStrings = set.Split(new char[]{'-'},StringSplitOptions.RemoveEmptyEntries); 

编辑 -

无论有多少“ - ”在那里,他都想分割字符串。

var spitStrings = set.Split(new char[]{'-'},StringSplitOptions.RemoveEmptyEntries); 

这会做这项工作。

+1

请您详细说明您的答案,并增加关于您提供的解决方案的更多描述。 – abarisone

相关问题