当前位置: 技术问答>java相关
怎么截取含有汉字的字符串而不出现半个字符?
来源: 互联网 发布时间:2015-03-21
本文导语: 一个字符串,可能含有汉字 例如要限制最长为30个字符(一个汉字要算2个) 怎么玩? | public class T{ public static void main(String[] a){ String s = "32452345234523452345阿萨沙沙打法沙沙...
一个字符串,可能含有汉字
例如要限制最长为30个字符(一个汉字要算2个)
怎么玩?
例如要限制最长为30个字符(一个汉字要算2个)
怎么玩?
|
public class T{
public static void main(String[] a){
String s = "32452345234523452345阿萨沙沙打法沙沙";
byte[] bytes = s.getBytes();
String s1;
int i ;
for(i =29 ;i>=0; i--){
if(bytes[i] > 0)break;
}
if(i % 2 == 1)s1 =new String(bytes,0,30);
else s1 =new String(bytes,0,29);
System.out.println(s1);
}
}
OK!
public static void main(String[] a){
String s = "32452345234523452345阿萨沙沙打法沙沙";
byte[] bytes = s.getBytes();
String s1;
int i ;
for(i =29 ;i>=0; i--){
if(bytes[i] > 0)break;
}
if(i % 2 == 1)s1 =new String(bytes,0,30);
else s1 =new String(bytes,0,29);
System.out.println(s1);
}
}
OK!
|
取byte[],判断每个byte的高位,如果是1就是汉字,不是就是字母
|
以下这段代码是用PHP写的,能正常运行,要是你懂点的话,转过来用应该没有问题的。呵呵。
Function getshortstr($longstr,$len){
if(strlen($longstr)
Function getshortstr($longstr,$len){
if(strlen($longstr)