净CF
我需要使用substring来捕获字符串的中间部分。
txtpart.Text = "ab12345678cde";
string item = txtpart.Text.Substring(2,8);
输出应该是12345678。
但它始终抛出此异常
System.ArgumentOutOfRangeException:指定的参数超出了有效值的范围。
是否有除substring之外的任何函数?
答案 0 :(得分:1)
您的示例应该返回2345678c
而不是12345678
,但这并不重要。您拥有的代码是有效的,不应该抛出错误。您是否仅仅为了示例而通过ab12345678cde
?你能告诉我们错误发生时真正传递的是什么吗?
您可以在此处查看代码的执行方式:
如果你的长度太长,我相信你会得到一个错误,但不是你看到的错误。
答案 1 :(得分:1)
答案 2 :(得分:0)
我知道这是一个老问题,但这可以帮助某人......
这是一个简单的功能,您可以使用" get"在任何字符串的中间:
public static string getBetween(string strSource, string strStart, string strEnd)
{
int Start, End;
if (strSource.Contains(strStart) && strSource.Contains(strEnd))
{
Start = strSource.IndexOf(strStart, 0) + strStart.Length;
End = strSource.IndexOf(strEnd, Start);
return strSource.Substring(Start, End - Start);
}
else
{
return "";
}
}
要使用它,请致电:
string mySelectedText = getBetween(txtpart.Text, "b", "c");
Debug.WriteLine(mySelectedText);
结果将是12345678
希望它有所帮助。此致