根据(beginIndex , endIndex)截取规则如下:
简述:
利用了toCharArray()方法将字符串转换为字符数组。
利用了GBK编码,即单个汉字字节长度为2,单个字母字节长度为1
利用getBytes方法获得单个字符的字节长度。
详见API文档String类:点击打开链接
代码:
import java.io.UnsupportedEncodingException;
public class MyString{
public static String mySubString(int beginIndex , int endIndex , String str) throws UnsupportedEncodingException{
String subStr = "";
//把字符串存入字符数组里
char[] cStr = str.toCharArray();
/*遍历字符数组的每个字符,得到前i个字符的总字节数
找到按字符开始截取的位置与结束截取的位置
如果截到了半个汉字则丢弃,前后一样。*/
int l1 = 0;
int l2 = 0;
int i1 = 0;//按字符开始截取的位置
int i2 = 0;//按字符结束截取的位置
//判断开始截取的位置