我将如何对此示例组合框项进行子串
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
答案 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
更具可读性。