private String subStr(String str, int max){
int sum = 0;
if(str!=null && str.length()> max){
StringBuilder sb = new StringBuilder(max);
for (int i = 0; i < str.length(); i++) {
int c = str.charAt(i);
if((c & 0xff00) != 0)
sum+=2;
else
sum+=1;
if(sum<=max)
sb.append((char)c);
else
break;
}
return sb.append("...").toString();
}else
return str!=null ? str : "";
}
///////////////////////////////////////////////////////////////////////////////////////////////
public class Test extends Date{
/**
*
*/
public static void main(String[] args) throws Exception{
String str = "我a爱中华abc我爱传智def";
String str1 = "我ABC汉";
int num = trimGBK(str.getBytes("GBK"),6);
System.out.println(str.substring(0,num) );
}
public static int trimGBK(byte[] buf,int n){
int num = 0;
boolean bChineseFirstHalf = false;
for(int i=0;i<n;i++)
{
if(buf[i]<0 && !bChineseFirstHalf){
bChineseFirstHalf = true;
}else{
num++;
bChineseFirstHalf = false;
}
}
return num;
}
}
分享到:
相关推荐
这个方法用来处理java中可能有一些特别的需要,一大串中英文混合,需要中间截断或是中英中间添加一些特别的标识,调用这个方法 第一个参数是要处理的字符串,第二个是要在中英字符中间插入的字符。调用就可以得到想...
在进行字符串处理的时候,尤其是涉及到中英文混合的情况,如何正确地截取字符串是一门技术活。在Java语言中,字符串的处理是常见的需求,尤其是在文本数据的处理和网络通信过程中,正确地截取中英文混合的字符串显得...
Java 实现中英文混合字符截取方法 Java 实现中英文混合字符截取方法是指在 Java 编程...通过本文的介绍,读者可以了解 Java 实现中英文混合字符截取方法的思路和实现细节,从而更好地解决Java截取字符串时遇到的问题。
总的来说,Java中精确截取字符串涉及到字符编码、字节长度计算等多个方面。对于不同的场景,需要选择合适的方法,确保截取后的字符串既能满足长度要求,又能正确显示其中的文本内容。在实际开发中,可以根据项目需求...
在Java中,处理字符串是非常常见且重要的任务之一,尤其是在涉及到国际化应用时,如何高效准确地处理中英文混合的字符串就显得尤为重要了。本文将基于提供的代码片段来探讨几种不同的Java字符串处理方法,并着重分析...
因此,当在Java程序中处理包含中英文混合的字符串时,必须考虑到编码差异,以避免截取错误或乱码的出现。 ### 实践应用 在实际开发中,特别是在Web开发、文本分析等领域,正确处理多语言字符串是非常关键的。使用...
javascript截取字符串(支持中英文混合) 代码如下: [removed] var sub=function(str,n){ var r=/[^\x00-\xff]/g; if(str.replace(r,”mm”).length<=n){return str;} var m=Math.floor(n/2); for(var i=m;i<str>=n...
在Java编程语言中,处理包含汉字的字符串时,由于汉字在不同编码格式下占用的字节数不同,按字节截取字符串会面临特殊挑战。本文将深入探讨如何正确地按字节截取带有汉字的字符串,以确保不出现半字符或者乱码的情况...
根据给定的信息,本文将详细解释如何在Java中处理中英文混合字符串的截取问题,尤其是在需要固定长度显示的情况下。 ### 一、问题背景 在实际应用开发中,经常需要处理包含中文和英文字符的字符串。例如,在一个...
然后,通过使用字符串的`replace`方法将所有非单字节字符替换为某个特定字符(如双下划线`__`),最终通过计算替换后字符串的长度来得到原始字符串中中文字符的数量。 进一步,文档中还提到了一个额外的小技巧,...
12. VB6.0中截取字符串:在VB6.0中,使用LEFT函数可以截取字符串,例如`LEFT("Visual Basic 6.0",6)`将返回"Visual"。 13. 软件工程管理:软件工程的理论和技术性研究不仅包括软件开发技术,还包括软件工程管理,以...
18.如何计算中英文混合字符串的长度 19.如何判断字符串是否以指定字符串开头或结尾 20.如何判断字符是否是英文字符 21.如何检测字符串出现的次数 22.如何过滤字符串中的HTML代码 23.如何截取字符串 24.如何实现字符...
截取子串可以根据字符串的索引来进行,截取子串时如果只指定了一个索引值,则用于取得字符串中指定索引所对应的字符;如果指定两个索引值,则返回两个索引中间的字符串子串.假如有如下数据模型: Map root = new HashMap...