Java按照字节来截取字符串的工具,不会出现半个汉字

JAVA按字节截取字符串(适用于Unicode) 7. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。 立即下载

原文:Java按照字节来截取字符串的工具,不会出现半个汉字

源代码下载地址:http://www.zuidaima.com/share/1550463396842496.htm

Java 按照字节来截取字符串的工具,不会出现半个汉字。一个中文两个字节,一个英文字符只占 1 个字节

1. 通常我们用于前端显示的时候,防止标题过长....

/*
 *    Copyright 2012-2013 The Haohui Network Corporation
 */
package com.haohui.common.utils;

/**
 * <pre>
 * 字符串辅助工具
 * </pre>
 * 
 * @project baidamei
 * @author cevencheng <cevencheng@gmail.com> www.zuidaima.com
 * @create 2012-11-30 下午2:42:56
 */
public class StringTool {

	/**
	 *<b>截取指定字节长度的字符串,不能返回半个汉字</b>
	 *	例如:
	 *	如果网页最多能显示17个汉字,那么 length 则为 34
	 * StringTool.getSubString(str, 34);
	 * 
	 * @param str
	 * @param length
	 * @return
	 */
	public static String getSubString(String str, int length) {
		int count = 0;
		int offset = 0;
		char[] c = str.toCharArray();
		for (int i = 0; i < c.length; i++) {
			if (c[i] > 256) {
				offset = 2;
				count += 2;
			} else {
				offset = 1;
				count++;
			}
			if (count == length) {
				return str.substring(0, i + 1);
			}
			if ((count == length + 1 && offset == 2)) {
				return str.substring(0, i);
			}
		}
		return "";
	}
}

 

截取字符串小工具 一个小工具,提取出txt文本文档中的网址,还有很大的限制,网址的标签可能有不同形式,这里给大家提供一个思路和方法 立即下载

相关推荐

字符串分隔工具

NULL 博文链接:https://thinktothings.iteye.com/blog/1616725

StringUtils 工具类常用方法汇总 2(截取、去除空白、包含、查询索引)

在上一篇中总结了 StringUtils 工具类在判断字符串为空,大小写转换,移除字符或字符序列,替换,反转,切割合并等方面的方法,这次再汇总一下其它常用的方法。

嘻哈熊的专栏 2254

java 截取字符串(判断汉字)

jsp截取中文字符串 len为字节长度

Java字符串按照字节数进行截取

本文为joshua317原创文章,转载请注明:转载自joshua317博客Java字符串按照字节数进行截取 - joshua317的博客 一、问题 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"hi你好啊,joshua317" 4,应该截为"hi你",输入"hi你好啊,joshua317" 8,应该输出“hi,你好”,而不是“hi,你好+啊的半个”。 二、分析 容易产生困惑的是中文字符和英文字符,在这里需要考虑汉字和英文字符的占用字节数.

joshua317的博客 4116

Java常用字符串工具类 字符串智能截取(3)

主要为大家详细介绍了Java常用字符串工具类,字符串的智能截取,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

Telegram Bot Api使用教程

其中token为你的机器人token,method为telegram给定的方法,在获取群组chat_id那一步就使用了telegram的其中一个方法(getUpdates),其他方法后面会介绍。telegram发送消息的方式类似与钉钉机器人,都是向一个api发送http请求,而且对于同一个APItelegram支持GET和POST两种请求方式.请求的api格式如下。通常来说我们都需要让机器人在一个群组里工作,所以首先我们需要将机器人添加到我们指定的群组,在群组里发送随意消息并@这个机器人,比如...

豫迷糊的码上生活 1万+

常用的string字符串的工具-截取判断

常用的string字符串的工具-截取判断

weixin_42187159的博客 422

tongweb中间件selectApp.jsp存在任意文件上传(含批量验证poc)

tongweb中间件selectApp.jsp存在任意文件上传(含批量验证poc)

weixin_43567873的博客 1984

截取字符串工具类以及基本用法

总结一下字符串的一些用法: 1.工具类 package com.bank.utils; public class StringToolUtils { //获取字符穿中的任意位置数据 /** * * @param testString * @param firstIndex 起始索引 * @param lastIndex 结束索引 * @return */ public static String handleStr

weixin_50263454的博客 579

Captcha must be filled out,解决Kaggle新用户注册无法弹出验证提示的问题

Captcha must be filled out

weixin_46713695的博客 5万+

基于STM32的太阳能充电宝设计_资料编号31

系统硬件包括主控 STM32F103C8T6、0.96 OLED 显示屏、蜂鸣器、电源自锁开关、温度传感器 DS18B20、继电器、5 V DC 升压模块 、TB4056、18650锂电池、9 V太阳能板、稳压降压 5 V三极管。电源供应:锂电池为系统供电,9 伏太阳能板经 5 伏降压稳压三极管降压为 5 伏后传送到 TP4056,TP4056 为锂电池供电,因锂电池电压 3.7 伏,通过 5 伏 DC 升压模块升压到 5 伏为整个系统提供 5 伏电压。

嵌入式阿齐Archie 1万+

常用的string字符串的工具-截取和转换

常用的string字符串的工具-截取和转换

weixin_42187159的博客 691

视觉Transformer实战 | Transformer详解与实现

本文系统介绍了 Transformer 架构的核心原理与实现。相比传统 RNN 和 CNN,Transformer 凭借自注意力机制有效捕捉序列中的长距离依赖关系,支持并行训练,显著提升效率。其核心创新在于通过查询、键、值向量计算注意力权重,理解单词间的语义关联。架构包含编码器-解码器结构:编码器通过多头自注意力和前馈网络提取输入特征;解码器利用掩码自注意力和交叉注意力生成输出。本文使用 PyTorch 实现了缩放点积注意力、位置编码、层归一化等关键模块,并构建了完整的 Transformer 模型。

盼小辉丶的博客 4万+

java 半个汉字_Java按照字节来截取字符串的工具,不会出现半个汉字

Java 按照字节来截取字符串的工具,不会出现半个汉字。一个中文两个字节,一个英文字符只占 1 个字节1. 通常我们用于前端显示的时候,防止标题过长..../** Copyright 2012-2013 The Haohui Network Corporation*/package com.haohui.common.utils;/*** * 字符串辅助工具* ** @project bai...

weixin_32968007的博客 267

开心消消乐

1)当点击一个1时,该1变被反转为0,同时相邻的上、下、左、右,以及左上、左下、右上、右下8个方向的1(如果存在1)均会自动反转为0;2)进一步地,一个位置上的1被反转为0时,与其相邻的8个方向的1(如果存在1)均会自动反转为0;上述样例中,四个角上的1均在中间的1的相邻8个方向上,因此只需要点击一次即可。给定一个N行M列的二维矩阵,矩阵中每个位置的数字取值为0或1。在上述4 * 4的矩阵中,只需要点击2次,即可将所有的1进行消除。接下来N行表示矩阵的初始值,每行均为M个数,取值范围[0,1]

面试高手的博客 2729

FPGA实现DDR接口

verilog// DDR2控制器状态机// 初始化序列// 发出初始化命令endendendend// 自动预充电end// 其他状态...endcaseendend。

whm128的博客 998

java 按子节截取 半个中文_Java按照字节来截取字符串的工具,不会出现半个汉字 | 学步园...

Java 按照字节来截取字符串的工具,不会出现半个汉字。一个中文两个字节,一个英文字符只占 1 个字节1. 通常我们用于前端显示的时候,防止标题过长..../** Copyright 2012-2013 The Haohui Network Corporation*/package com.haohui.common.utils;/*** * 字符串辅助工具* ** @project bai...

weixin_42366532的博客 104

AI赋能合同审查:构建租赁合同智能审核系统的全流程解析

在商业地产、设备租赁等场景中,合同审核效率直接影响业务流转速度。传统人工审核存在三大痛点:审核周期长(平均2-3个工作日)、合规风险高(条款遗漏率约15%)、人力成本居高不下。智能审核系统可将审核时间压缩至秒级,风险识别准确率提升至98%以上。

理论都是虚的,代码才是王道。 1356

java按照字节数截取字符串(确保汉字不能被截取半个)

编写一个截取字符串的函数,输入一个字符串和要截取的字节长度,确保汉字不能被截取半个,比如输入(“我ABC”,4)应该输出&quot;我AB&quot;,输入(“LAB汉”,4)应该输出&quot;LAB汉&quot;,而不应该输出LAB和汉的一半 思路:在内存中,字符和符号占一个字节,而汉字占两个或三个字节.所以在截取的时候,应该一边拼接字符串,一边记录已经截取的字节长度,遇到汉字时,只要字节长度没有超出,则这个汉字就应该被全部截取 代...

fly_fly_fly_pig的博客 3586

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

java根据字节 截取字符串,保证汉字不被截取半个

编写一个截取字符串的函数,输入一个字符串和字节数。然后输出字符串,要保证汉字不被截取半个,如:我ABC,4 应截取 “我AB”    首先要了解中文字符有多种编码及各种编码的特征  假设n为截取的字节数: 方法一、  public static void main(String[] args) {      String str="我ss是fs汗";  try {   by

yinxianluo的专栏 4051

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

截取字符串中带汉字的字符串,按照字节进行截取

package test; /** 在java中,字符串“abcd”与字符串“ab你好”的长度是一样,都是四个字符。 但对应的字节数不同,一个汉字占两个字节。 定义一个方法,按照最大的字节数来取子串。 如:对于“ab你好”,如果取三个字节,那么子串就是ab与“你”字的半个, 那么半个就要舍弃。如果去四个字节就是“ab你”,取五个字节还是“ab你”. 思路: 首先要知道汉字是由连个字节所组成。而且这...

fujiaXDY的博客 1903

java 截取带汉字的字符串,汉字不能被截取成半个

问题描述: 编写一个截取字符串的函数,输入为一个字符串和字节数, 输出为按字节截取的字符串。但是要保证汉字不被截半个, 如"我ABC", 4,应该截为"我A", 输入"我ABC汉DEF",7,应该输出为"我ABC"而不是"我ABC+汉的半个"。 思路: 1.英文只占一个字节,中文占两个字节或者3个字节 ...

tplina的博客 2126

Java中文字符串截取,不能返回半个汉字

Java中文字符串截取,不能返回半个汉字

loongshawn的博客 1万+

按照字节数截取一个字符串,保证不能获取到半个汉字

编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个"。 因为汉字占两个字节,所以需要一个一个字节来判断。(GBK编码格式) public String SubStr(String str, Integer index) t...

Dragon_King的博客 630

20、JAVA 中字符串的截取,要求不能截取半个汉字

编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。   但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,      应该输出为"我ABC"而不是"我ABC+汉的半个"。    import java.io.UnsupportedEncodingException;   /**  * 截取的要点:  * 1.

NN179的专栏 1541

java 截取一个包含汉字的字符串的前n个字节的算法

 看到论坛有人在问一到面试题,问的是截取一个包含汉字的字符串的前n个字节,且不能截取到汉字的半个字节,我想了下,写了的demo,目前测试是通过了的,呵呵!  如有bug,请各位朋友提出来,呵呵!共同学习,共同进步!恶哈哈!  /** * * @author lazy_p * @version 2010-1-3 */public class StringSpiltByB

3271
上一篇: java实现发邮件的工具类,方便 好用(需要架包的Send Email To me)
下一篇: java常用流处理工具StreamTool 常见的InputStream流转字符串, 转字节数组等等
springmvc_springdata
博客等级 码龄12年 197粉丝 389原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值