该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2011-07-14
编程题 public class TestC { /** return result; } public static void main(String[] args) throws UnsupportedEncodingException { 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-07-14
这个直接用getChars啊...
|
|
返回顶楼 | |
发表时间:2011-07-26
如果这个字符串里不幸掺杂了阿拉伯文和韩咕噜文的话LZ就杯具了。。
|
|
返回顶楼 | |
发表时间:2011-07-26
最后修改:2011-07-26
/** * 按字节数获取子字符串 * @param str 原字符串 * @param byteBeginIndex 开始位置 * @param byteEndIndex 结束位置 * @param halfCh 是否包括取到一半的汉字 * @return 子字符串 */ public static String subStringByByte(String str, int byteBeginIndex, int byteEndIndex, boolean halfCh) { String result = ""; int charLength = 0; int tempCharBeginIndex = 0; int tempCharEndIndex = 0; int charBeginIndex = -1; int charEndIndex = -1; if(byteEndIndex > byteBeginIndex && byteBeginIndex >= 0) { for(int i = 0; i < str.length(); i++) { charLength = str.substring(i, i + 1).getBytes().length; tempCharBeginIndex = tempCharEndIndex; tempCharEndIndex += charLength; if(byteBeginIndex >= tempCharBeginIndex && byteBeginIndex < tempCharEndIndex) { charBeginIndex = (byteBeginIndex > tempCharBeginIndex && !halfCh)? i + 1: i; } if(byteEndIndex >= tempCharBeginIndex && byteEndIndex < tempCharEndIndex) { charEndIndex = (byteEndIndex > tempCharBeginIndex && halfCh)? i + 1: i; break; } } charEndIndex = charEndIndex == -1? (charBeginIndex == -1? 0: str.length()): charEndIndex; charBeginIndex = charBeginIndex == -1? 0: charBeginIndex; if(charEndIndex > charBeginIndex) { result = str.substring(charBeginIndex, charEndIndex); } } return result; } |
|
返回顶楼 | |
浏览 6673 次