我已经在“/”之前提取了文本框的第一部分,我想提取文本框的最后一部分。我尝试使用LastIndexOf,但我不能在文本框中使用它。任何解决方案?
对不起,我不是英国人。
string strDiv2 = tbxAff.Text.Substring(tbxAff.Text.IndexOf(" / "), /*value is missing*/ );
dblDiv2 = Convert.ToDouble(strDiv2);`
答案 0 :(得分:2)
您可以省略第二个参数。这会调用Substring(int)
重载,它会返回一个从指定字符位置开始并继续到字符串末尾的子字符串。
string strDiv2 = tbxAff.Text.Substring(tbxAff.Text.IndexOf("/") + 1);
另外,如果您将提取的子字符串解析为double,则可能需要排除/
分隔符。
答案 1 :(得分:0)
string clientSpnd = textBox1.Text.Substring(textBox1.Text.LastIndexOf('')+ 1);
答案 2 :(得分:0)
这是一个进行安全检查的扩展方法:
public static class StringExtensions
{
public static string LastPartOfStringFrom(this string str, char delimiter )
{
if (string.IsNullOrWhiteSpace(str)) return string.Empty;
var index = str.LastIndexOf(delimiter);
return (index == -1) ? str : str.Substring(index + 1);
}
}
答案 3 :(得分:-1)
使用String.Split()
功能:
string[] y = tbxAff.Text.Split(new string[] { " / " }, StringSplitOptions.RemoveEmptyEntries);
然后像这样使用它:
string strDiv2 = y[1] // Second Part
dblDiv2 = Convert.ToDouble(strDiv2);