获取具有可变长度的某些字符之前和之后的字符

时间:2019-05-06 06:00:50

标签: c# asp.net substring

我正在尝试获取出现在某些字符(“-”)之前和之后的字符。

string val = "7896-2-5";
    7896-2-5 here I want to get the character that appear between the two dashes i.e. 2
string val = "4512-12-5"; 
    4512-12-5 so here 12,

-的第一次出现的位置从左侧固定,但是-的第二次出现的位置由两个-之间的字符确定,可以是一位数字或两位数的数字。

如何获得角色?

2 个答案:

答案 0 :(得分:2)

最简单的方法是使用string.Split('-')

例如

var middleDigit = string.Split('-')[1];

答案 1 :(得分:0)

如果您的字符串应该带有两个破折号,请尝试以下操作:

string myString = "4512-12-5";
string result="";
if(myString.Count(f => f =='-') == 2)
    result = myString.Substring(myString.IndexOf('-') + 1 ,myString.LastIndexOf('-') - myString.IndexOf('-') - 1);
else
    result = "string is not well formated";
Console.WriteLine(result);