C# 获取具有可变长度的特定字符前后的字符

C# 获取具有可变长度的特定字符前后的字符,c#,asp.net,substring,C#,Asp.net,Substring,我试图获取出现在特定字符(“-”)之前和之后的字符 -第一次出现的位置从左侧固定,但-第二次出现的位置由两个-之间的字符确定,可以是一位数或两位数 如何获取字符?最简单的方法是使用string.Split(“-”) e、 g 最简单的方法是使用string.Split('-') e、 g 如果字符串应有两个破折号,请尝试以下操作: string myString = "4512-12-5"; string result=""; if(myString.Count(f => f =='-')

我试图获取出现在特定字符(“-”)之前和之后的字符

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


如何获取字符?

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

e、 g


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

e、 g


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

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);

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

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);

使用
string.Split
val.Split('-')[1]
这个怎么样???@mjwills是的只有两个
-
使用
string.Split
val.Split('-')[1]
这个怎么样???@mjwills是的只有两个
-
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);