截取列表内过程标题name方法(java)

本文介绍了一种用于按需截断字符串的方法,确保不会出现半个汉字的情况,并在超过最大长度时添加省略号。该方法适用于处理包含中文字符的字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
		 * @desc  按照需求长度,截取源数据最多到所需长度的字符串(如出现不足一个汉字的部分会被截取掉)
		 * @param sourceStr  源字符串信息
		 * @param maxLen     截取字符长度
		 * @return           返回字符串
		 */
		 private String splitShowStr(String sourceStr,int maxLen){
			String retStr = "";
			byte[] strByte = sourceStr.getBytes();
			int strLen = strByte.length;
		
			if(strLen > maxLen){     //汉字在按照字节拆分后,转换为int每一位必然小于0
				int tmpChar = 0;
				int count = 0;
				maxLen = maxLen - 3;
				for(int i=0;i<maxLen;i++){
					tmpChar = (int)	strByte[i];
					if(tmpChar < 0){
						count ++;
					}
				}
				if(count%3 != 0){   //汉字数量出现半个字,截掉超出部分
					maxLen = maxLen - count%3;
					retStr = new String(strByte,0,maxLen);
				}else{
					retStr = new String(strByte,0,maxLen);
				}
				retStr = retStr + "...";
			}else{
				retStr = sourceStr;
			}
			return retStr;
		}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值