【JAVA】字符截取包含中文字符情况

问题

需求:给定一个中英文字符串,截取固定长度后存储数据
情况:中文占用2个字节,英文1个

	//org.apache.commons.lang3.StringUtils.substring(columnVal, 0, lenMax)public static String substring(String str, int start, int end) {if (str == null) {return null;} else {if (end < 0) {end += str.length();}if (start < 0) {start += str.length();}if (end > str.length()) {end = str.length();}if (start > end) {return "";} else {if (start < 0) {start = 0;}if (end < 0) {end = 0;}return str.substring(start, end);}}}

结果

Test==>字符长度============4
Test==>字符长度============原始::测试
Test==>字符长度============4
Test==>字符长度============截取::测试

解决

	/*** 获取字段值的长度,如果含中文字符,则每个中文字符长度为2,否则为1** @param  value* @param  length* @return*/public static String getStringLengthBySub(String value, int length) {//String str, int start, int endif (StringUtils.isBlank(value)) {return value;}String chinese = "[\u0391-\uFFE5]";int tc = 1;int s = 0;String str = "";/* 获取字段值的长度,如果含中文字符,则每个中文字符长度为2,否则为1 */while (tc < length) {String temp = value.substring(s, s + 1);//如果是中文if (temp.matches(chinese)) {//计数+2tc += 2;} else {tc += 1;}s++;str = str + temp;}return str;}
Test==>字符长度============4
Test==>字符长度============原始::测试
Test==>字符长度============2
Test==>字符长度============截取::测

参考

JAVA 中英文混合截取,中文算2字符,英文1字符,始终保持固定长度

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/137352.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开源论道 源聚一堂@COSCon

自2015年以来&#xff0c;开源高峰论坛一直是中国开源年会中的传统亮点项目。本次在COSCon23 大会期间的高峰圆桌会&#xff0c;于2023年10月29日在成都高新区的菁蓉汇召开。 本次高峰圆桌上&#xff0c;我们特别邀请了20 位来自企业&#xff0c;基金会和社区的专家和领袖参加讨…

京东数据分析:2023年10月京东洗衣机行业品牌销售排行榜

鲸参谋监测的京东平台10月份洗衣机市场销售数据已出炉&#xff01; 10月份&#xff0c;洗衣机市场整体销售呈上升走势。鲸参谋数据显示&#xff0c;今年10月&#xff0c;京东平台洗衣机市场的销量为143万&#xff0c;环比增长约23%&#xff0c;同比增长约1%&#xff1b;销售额约…

AI:76-基于机器学习的智能城市交通管理

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

物联网AI MicroPython学习之语法 ustruct 打包和解压原始数据类型

学物联网&#xff0c;来万物简单IoT物联网&#xff01;&#xff01; ustruct 介绍 ustruct提供打包和解压原始数据类型的功能。 默认情况下&#xff0c;C类型以机器的本机格式和字节顺序表示&#xff0c;并在必要时通过跳过填充字节来正确对齐&#xff08;根据C编译器使用的规…

Ubuntu 20.04 中配置NFS服务

NFS是Network File System的首字母缩写。它是一种分布式协议&#xff0c;使客户端可以访问远程服务器上的共享文件。 1、安装NFS服务端 $ sudo apt install nfs-kernel-server 检查nfs-server是否已经启动 $ sudo systemctl status nfs-server 2、创建NFS共享目录 下一步…

STL常用库函数复习

文章目录 pairvectorliststackqueuequeuepriority_queuequeue双端队列 set✨set集合✨multiset 多重集合了解&#xff1a;unordered_set 无序集合 map&#x1f31f;map几乎不用&#xff1a;multimap一般不用&#xff1a;undered_map pair utility示例 #include <iostream&…

DAY48 121. 买卖股票的最佳时机 + 122.买卖股票的最佳时机II

121. 买卖股票的最佳时机 题目要求&#xff1a; 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择某一天买入这只股票&#xff0c;并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润…

调用API接口获取淘宝商品评论:方法与实战

一、引言 淘宝作为中国最大的电商平台之一&#xff0c;提供了丰富的商品信息和用户评价数据。对于开发者、数据分析师或电商从业者来说&#xff0c;获取淘宝商品评论数据具有重要的应用价值。本文将详细介绍如何调用淘宝API接口来获取商品评论数据&#xff0c;并给出相应的代码…

【教3妹学编程-算法题】 在树上执行操作以后得到的最大分数

3妹&#xff1a;2哥&#xff0c;今日都立冬了&#xff0c; 可是天气一点都不冷。 2哥 : 立冬了&#xff0c;晚上要不要一起出去吃饺子&#xff1f;&#x1f95f; 3妹&#xff1a;好呀好呀&#xff0c;2哥请吃饺子喽 2哥 : 歪歪&#xff0c;我说的是一起出去吃&#xff0c;没说我…

以 Kubernetes 原生方式实现多集群告警

作者&#xff1a;向军涛、雷万钧 来源&#xff1a;2023 上海 KubeCon 分享 可观测性来源 在 Kubernetes 集群上&#xff0c;各个维度的可观测性数据&#xff0c;可以让我们及时了解集群上应用的状态&#xff0c;以及集群本身的状态。 Metrics 指标&#xff1a;监控对象状态的量…

C++day6作业

1.思维导图 2.编程题&#xff1a; 以下是一个简单的比喻&#xff0c;将多态概念与生活中的实际情况相联系&#xff1a; 比喻&#xff1a;动物园的讲解员和动物表演 想象一下你去了一家动物园&#xff0c;看到了许多不同种类的动物&#xff0c;如狮子、大象、猴子等。现在&am…

[autojs]用户界面GUI编程

用户界面: UI视图: View attr(name, value)attr(name)whidgravitylayout_gravitymarginmarginLeftmarginRightmarginTopmarginBottompaddingpaddingLeftpaddingRightpaddingToppaddingBottombgalphaforegroundminHeightminWidthvisibilityrotationtransformPivotXtransformPivo…

5-爬虫-打码平台、打码平台自动登录打码平台、selenium爬取京东商品信息、scrapy介绍安装、scrapy目录结构

1 打码平台 1.1 案例 2 打码平台自动登录打码平台 3 selenium爬取京东商品信息 4 scrapy介绍安装 5 scrapy目录结构 1 打码平台 # 1 登录某些网站&#xff0c;会有验证码---》想自动破解-数字字母&#xff1a;python模块&#xff1a;ddddocr-计算题&#xff0c;成语题&#xf…

MySQL MyISAM存储引擎的优缺点以及数据文件的类型

目录 优缺点 优点 1. 加锁与并发 2. 修复 3. 索引特性 1&#xff09;B-Tree 索引 2&#xff09;R-Tree 索引 3&#xff09;Full-text 索引 缺点 物理存储 1&#xff09;静态型 2&#xff09;动态型 3&#xff09;压缩型 MyISAM 存储引擎是 MySQL 中常见的存储引擎…

如何评价现在的CSGO游戏搬砖市场

如何评价现在的csgo市场&#xff1f; 其实整个搬砖市场&#xff0c;现在已经变得乌烟瘴气&#xff0c;散发着“恶臭”。我个人非常鄙视那些虚有其表&#xff0c;大小通吃的做法&#xff0c;那些甚至连搬砖数据都看不懂的人&#xff0c;也出来吹嘘着“实力强大&#xff0c;经验丰…

[模块]ES6与cjs的混合开发

[模块]ES6与cjs的混合开发 模块语言混合开发的原因Nodejs中使用ES6关于动态加载的讲解 项目的模块语言CJS 与 ESM 开发模块的使用方法普通模块引入json 文件的引入普通模块导出 CJS兼容ESMESM兼容CJS(推荐)全局变量--dirname-filename-esm库 问题Error: EPERM: operation not p…

本地生活新赛道-视频号团购怎么做?

目前有在做实体行业的商家一定要看完&#xff0c;只要你进入了这个本地生活新的赛道&#xff0c;那你的生意自然会源源不断&#xff0c;那这个赛道又是什么呢&#xff1f; 这就是十月份刚刚上线的视频号团购项目&#xff0c;开通团购之后&#xff0c;就可以通过发短视频&#…

深度学习pytorch之hub模块

pytorchhub模块里面有很多模型 https://pytorch.org/hub/ github网址&#xff1a;https://github.com/pytorch/pytorch import torch model torch.hub.load(pytorch/vision:v0.10.0, fcn_resnet50, pretrainedTrue) # or # model torch.hub.load(pytorch/vision:v0.10.0, fc…

人工智能与机器学习

人工智能和机器学习是目前科技领域最热门的话题之一&#xff0c;它们正在改变着我们的生活和工作方式。本文将从多个角度探讨人工智能和机器学习的应用和发展&#xff0c;以期为读者提供更全面的了解。 一、人工智能和机器学习的定义 人工智能&#xff08;Artificial Intelli…

Linux C语言进阶-D15递归函数和函数指针

递归函数 指一个函数的函数体中直接或间接调用了该函数本身 执行过程分为两个过程&#xff1a; 递推过程&#xff1a;从原问题出发&#xff0c;按递归公式递推从未知到已知&#xff0c;最终达到递推终止条件 回归阶段&#xff1a;按递归终止条件求出结果&#xff0c;逆向逐步…