注意红圈的地方,你这里取的是字符串的长度,而不是你检测的 ']' 的位置;
一般的端口号都是4位的,那么你直接写 4 就可以;
如果端口号,不是 4 位的,那么就要 a4 - 1 - a3 了;
这里要明白的是,Substring 的第二个参数,是要截取的字符串的长度。
Substring要判断长度先才不会出错误。
加外
string a5 = a.Substring(a3+1,a4-1);
这里改成
string a5 =a.Substring(a3 + 1, a4-a3-1);
测试过了可以