java 中的 substring 与 c++ 中的 substr 的用法不同
java 中 substring 有两种用法:
假设:String s = “0123456789”;
String sub1 = s.substr(7); // 只有一个数字7表示从下标为7开始一直到结尾:sub1 = “789”
String sub2 = s.substr(7, 9); // 从下标为7开始到下标为9结束(下标9不截取)截取长度为9 - 7 = 2 位:sub2 = “78”
c++ 中 substr 有2种用法:
假设:string s = “0123456789”;
string sub1 = s.substr(7); // 只有一个数字7表示从下标为7开始一直到结尾:sub1 = “789”
string sub2 = s.substr(7, 3); // 从下标为7开始截取长度为2位:sub2 = “78”
注意 java 中 substring 第二种用法的参数含义不要搞混哦,如果理解为和 c++ 中用法一样会出现 java.lang.StringIndexOutOfBoundsException 错误