C#如何提取部分字符串

时间:2012-12-12 10:05:00

标签: c#

如何从字符串中提取部分,并在字符之间分隔“ - ”? 例如,我想从“123-4567-9012”中提取“123” 或从“123-4567-9012”中提取“4567” 或者甚至来自相同字符串的9012

3 个答案:

答案 0 :(得分:10)

只需拆分-字符,然后就可以访问它们了。使用string.Split(char[])

string str  = "123-4567-9012";
string[] arr = str.Split('-');

它将导致:

arr[0] = "123";
arr[1] = "4567";
arr[2] = "9012"

答案 1 :(得分:3)

如果您只需要第一次出现,可能会更有效:

var str = "123-4567-9012";
var substr = str.Substring(0, str.IndexOf('-'));

答案 2 :(得分:3)

如果是String.Split,则可以根据分隔符将字符串分成单独的部分。例如,使用:

var input = "123-4567-9012";
var parts = input.Split('-');
foreach(var part in parts)
  Console.WriteLine(part);

将输出:

123
4567
9012

例如,你可以使用String.Join做相反的事情。

var result = String.Join("-", parts);
Console.WriteLine(result);

将输出:

123-4567-9012