- 论坛徽章:
- 0
|
public class Substring {
public String substring(String input, int n) {
byte[] bytes = input.getBytes();
byte[] data = new byte[n]; // 结果
int x = 0;
int y = 0;
while (x n) {
int length = Character.toString(input.charAt(y)).getBytes().length;
if (length > 1) { // 双字节
if (x >= n - 1) { // 如果是最后一个字节
break;
} else {
data[x] = bytes[x];
data[x + 1] = bytes[x + 1];
x += 2;
y++;
}
} else {
data[x] = bytes[x];
x++;
y++;
}
}
return new String(data, 0, x);
}
public static void main(String[] args) {
Substring test1 = new Substring();
System.out.println(test1.substring("你好a,你是?", 3));
System.out.println(test1.substring("你好a,你是?", 4));
System.out.println(test1.substring("你好a,你是?", 5));
System.out.println(test1.substring("你好a,你是?", 6));
System.out.println(test1.substring("你好a,你是?", 7));
System.out.println(test1.substring("你好a,你是?", 8));
}
}
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/22371/showart_2013045.html |
|