写了个全角半角混在时按字节取substring的函数,大家帮着看看

yourbj 2007-02-06 10:24:26
可用于给定长文本框啥的赋值

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;
}
...全文
250 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
unixzyy 2008-05-21
  • 打赏
  • 举报
回复
测试过了,可用。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧