package corejava;
/**
* (机能概要描述)
*
* <pre>
* [变更履历]
* 09.07.20.NICKLE NET 初版
* </pre>
*
* @author NICKLE)王福文
*/
public class Test {
/**
* 第二个就是编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。
* 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,
* 应该输出为“我ABC”而不是“我ABC+汉的半个”。
*/
public void subString(String str,int ind){
byte[] bs = str.getBytes();
String result = "";
int count = 0;
if(str.length() > 0 && ind != 0 ){
//计数器
for(int i = 0 ; i <= ind - 1;i++){
if(bs[i]<0) {
count++;
}
}
System.out.println("count: " + count);
//截取一般汉字时必定为奇数,并且为负数。截取字符前进一。
if(bs[ind] < 0 && (count%2) != 0 ){
String temp = new String( bs,0,ind-1);
System.out.println("截取后的:" + temp);
}else{
String temp = new String( bs,0,ind);
System.out.println("正好不用截取的:" + temp);
}
}
}
public static void main(String[] args){
Test str = new Test();
str.subString("我是AABBCC不告诉你",12);
}
}
截取出现汉字问题
最新推荐文章于 2021-05-02 18:54:51 发布