写了个全角半角混在时按字节取substring的函数,大家帮着看看
可用于给定长文本框啥的赋值
private String getSubstring(String str, int start, int end) {
String ret = "";
if (str == null) {
return ret;
}
if (str.length() != str.getBytes().length) {
int byteStart = start;
int byteEnd = end;
for (int i = 0; i < str.length(); i++) {
String chr = String.valueOf(str.charAt(i));
if (chr.length() != chr.getBytes().length) {
if (i < byteStart) {
byteStart = byteStart - 1;
}
if (i < byteEnd) {
byteEnd = byteEnd - 1;
}
}
}
start = byteStart;
end = byteEnd;
}
if (start < end && start < str.length()) {
if (str.length() < end) {
ret = str.substring(start);
} else {
ret = str.substring(start, end);
}
}
return ret;
}