Topic: 中英文混合字符串的问题

  Print this page

1.中英文混合字符串的问题 Copy to clipboard
Posted by: orangeyxj
Posted on: 2005-04-04 16:59

我想在一个中英文混合的字符串中截取部分字符,如 “java是我现在学的东西”。有这么一个方法:
public static String substring(String str, int toCount,String more)
{
int reInt = 0;
String reStr = "";
if (str == null)
return "";
char[] tempChar = str.toCharArray();
for (int kk = 0; (kk < tempChar.length && toCount > reInt); kk++) {
String s1 = str.valueOf(tempChar[kk]);
byte[] b = s1.getBytes();
reInt += b.length;
reStr += tempChar[kk];
}
if (toCount == reInt || (toCount == reInt - 1))
reStr += more;
return reStr;
}
虽然可以保证截取的不会是乱码,但是在这里汉字是占两个字节,例如我想取6个字符,取出的是 “java是”,如果取5个字符,就仅仅是“java”,
能不能做到这样:取六个字符,取出的就是 “java是我”,就是把汉字当作一个字符来处理。说得有点乱,请见谅。
先谢谢了

2.Re:中英文混合字符串的问题 [Re: orangeyxj] Copy to clipboard
Posted by: orangeyxj
Posted on: 2005-04-04 17:05

发了才知道这根本就不是问题,直接用substring( )就可以了
郁闷 Sad

3.Re:中英文混合字符串的问题 [Re: orangeyxj] Copy to clipboard
Posted by: undefined
Posted on: 2005-04-14 10:47

String a ="java使我现在学习的东西";
a=a.substring(0,5);
System.out.printlnAngel;

打印结果:

java使


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923