具有重复字符的子串

时间:2013-08-12 20:36:21

标签: c# substring

我将如何对此示例组合框项进行子串

E11-143 - America           -->    America 
JC - Political theory       -->    Political theory

我试过了:

string test = comboBox1.Text.Substring(comboBox1.Text.IndexOf('-') + 1).Trim();

但这是结果

E11-143 - America           -->    143 - America 
JC - Political theory       -->    Political theory

4 个答案:

答案 0 :(得分:3)

使用LastIndexOf获取最后一个字符的索引:

string test = comboBox1.Text.Substring(comboBox1.Text.LastIndexOf('-') + 1).Trim();

答案 1 :(得分:2)

另一种变化:

var str = "E11-143 - America";
var val = str.Split('-').LastOrDefault().Trim();

答案 2 :(得分:1)

var str = "E11-143 - America";
var newstr = str.Substring(str.LastIndexOf("-")+1).Trim();

答案 3 :(得分:1)

您可以使用String.IndexOf + Substring。但您需要搜索" - "而不是-(请注意空格)

int index = text.IndexOf(" - ");
string result = null;
if(index >= 0)
     result = text.Substring(index + " - ".Length);

String.Split

text.Split(new[]{" - "},StringSplitOptions.None).Last();

IndexOf方法更有效,而Split更具可读性。