1

我将如何对这个示例组合框项目进行子串化

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

4 回答 4

3

用于LastIndexOf获取字符最后一次出现的索引:

string test = comboBox1.Text.Substring(comboBox1.Text.LastIndexOf('-') + 1).Trim();
于 2013-08-12T20:38:08.620 回答
2

另一种变化:

var str = "E11-143 - America";
var val = str.Split('-').LastOrDefault().Trim();
于 2013-08-12T20:41:07.367 回答
1
var str = "E11-143 - America";
var newstr = str.Substring(str.LastIndexOf("-")+1).Trim();
于 2013-08-12T20:39:06.427 回答
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更具可读性。

于 2013-08-12T20:41:39.440 回答