/**
*该方法用于:截取字符串
*使用技巧:
*假如要截取长度相当于10个中文汉字的字符串,超出用".."显示,调用subString(str,19,"..");
*如果调用subString(str,20,".."),遇到包含奇数个单字节字符如a/b/c/d的情况下,将会多截一个字;
* @param str
* @param toCount 字节数 a--1字节,中文汉字--2字节,(汉字数*2-1)
* @param more
* @return
*/
public static String subString(String str, int toCount,String more)
{
String ss="";
if(null==str||"".equals(str))
return "";
try {
byte[] bytes = str.getBytes("Unicode");
int n = 0; // 表示当前的字节数
int i = 2; // 要截取的字节数,从第3个字节开始
for (; i < bytes.length && n <=toCount; i++) {
if (i % 2 == 1) {
n++; // 在UCS2第二个字节时n加1
} else {
// 当UCS2编码的第一个字节不等于0时,该UCS2字符为汉字,一个汉字算两个字节
if (bytes[i] != 0) {
n++;
}
}
}
// 如果i为奇数时,处理成偶数
if (i % 2 == 1) {
// 该UCS2字符是汉字时,去掉这个截一半的汉字
if (bytes[i - 1] != 0)
i = i -1;
// 该UCS2字符是字母或数字,则保留该字符
else
i = i + 1;
}
ss= new String(bytes, 0, i, "Unicode");
if(toCount<bytes.length-2)
ss+=more;
//System.out.println(bytes.length+"--->"+toCount);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ss;
}
分享到:
相关推荐
主要介绍了java 实现截取字符串并按字节分别输出实例代码的相关资料,需要的朋友可以参考下
在JAVA里面实现判断字符串长度,和截取字符串
实现一个按字节来截取字符串的方法,功能类似于string类的substring方法,String类是按字符截取 的,例如"中国abc".substring(1,3),将返回“国a”。这里 要求按字节截取,一个英文字符当一个字节,一个中文字符当两...
关于java按字节截取带有汉字的字符串的解法.不错的一个程序。我也是从高手那拿来的,觉得不错,传上来给感兴趣的朋友学习学习。
截取字符串“java程序教程”的前5个字节,字符串应该为“java程”,截取前6个字符,字符串也应该为“java程”,程序实现。
1.substring 方法 定义和用法 substring 方法用于提取字符串中介于两个指定下标之间的字符。 语法 stringObject.substring(start,stop) 参数 描述 start 必需。一个非负的整数,规定要提取的子串的第一个字符在 ...
编写程序完成如下功能:输出字符串“www.google.com”的长度,并分别计算并显示出‘o’ 与‘g’的个数,截取其中“google”进行输出显示。...3、分别使用String和StringBuffer类实现字符串的链接,分析比较它们的特点。
主要介绍了java 字符串截取的实例详解的相关资料,这里提供了实例代码帮助大家实现这样的功能,需要的朋友可以参考下
前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)
${fn:substring(你要截取的字符串),beginIndex,endIndex} 下面是JSTL中自带的方法列表以及其描述 函数名 函数说明 使用举例 fn:contains 判断字符串是否包含另外一个字符串 ${fn:contains(name,> fn:...
正好遇到一个需求需要将字符串中特定的字符全部提取出来,这个如果是按常规的字符串处理的话非常的繁琐。于是想到用正则表达式来完成。项目需求是这样的:需要提取车牌号中最后一个数字,比如说:苏A7865提取5,苏A...
主要为大家详细介绍了java实现中英文混合字符的截取方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
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...
在上面的代码中,我们首先将字符串从第二个字符开始截取,直到字符串结尾,然后将其解析为十六进制整数。最后,我们使用该整数创建颜色对象。 Color 对象到 String 的转换 在将 Color 对象转换为字符串形式的颜色...
1、使用Document和Xpath进行对字符串进行操作 2、前端页面做锚点的效果 3、使用Xpath语法进行对字符串的做处理 4、富文本的字符串保存做二次的编辑 需求: 截取<p></p>里面的文字,并且找对应的文字进行匹配,如...
做为一个前端开发人员在网页展示中经常会碰到,标题过长,需要截取字符串,用CSS的实现的话各种兼容问题,各种坑。 让后台程序截一下,又各种推托,让后台按字节截一下更是和要了后台老命一样,最后可能只会安字符...
提供通过meteoInfo+geotools解析shp文件,提取出shp文件中的数据,javaj技术实现,获取边界线数据、中心点坐标、最大、最小经纬度值等
四、输入一个字符串,字符串是字母和数字的组合,编程实现输出一个新的字符串,要求字母在前面,数字在后面,顺序不变,例如:2s7ess83a 变成sessa2783 五、一个字符串,获取最长的一个单词,如有多个相同...
16. 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半...
16. 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半...