如何截取包含中文、Emoji表情的字符串
来源:互联网 发布:手机设置淘宝主营类目 编辑:程序博客网 时间:2024/05/18 20:48
如何截取包含中文、Emoji表情的字符串
在码代码时经常会遇到截取字符串的问题,有时候字符串会包含中文、Emoji表情、以及一些特殊符号,这时使用String的substring()进行截取操作,结果就有可能是乱码或者不符合要求。这是因为JVM运行时使用UTF-16编码,对于普通的字符都是使用char类型存储(2个字节),而对于中文、emoji表情是用两个char存储(4个字节),substring是按照char截取的,就有可能只截取了半个中文字符。这时我们要是用String提供的另一个方法offsetByCodePoints(int index,int codePointOffset)
(该方法返回此String 中从给定的 index 处偏移 codePointOffset 个Unicode代码点的索引),来辅助实现substring方法。
public static String substring(String source, int start, int end) { String result; try { result = source.substring(source.offsetByCodePoints(0, start), source.offsetByCodePoints(0, end)); } catch (Exception e) { result = ""; } return result; }
0 0
- 如何截取包含中文、Emoji表情的字符串
- 截取含有中文、Emoji表情、特殊符号的字符串
- 截取带emoji表情的utf8字符串
- 检测字符串包含emoji表情
- Objective-C截取字符串时emoji表情的处理
- 【转】Objective-C截取字符串时emoji表情的处理
- 如何判断输入的内容中是否包含emoji表情
- 截取包含中文的字符串
- 判断字符串中是否包含emoji表情
- 判断字符串中是否包含emoji表情
- iOS判断字符串是否包含emoji表情
- 判断字符串是否包含Emoji表情
- js截取包含中文的字符串
- java字符串Emoji表情的处理
- 【Java】如何检测、替换4个字节的utf-8编码(此范围编码包含emoji表情)
- 如何让不支持Emoji表情符的数据库存取Emoji表情
- Android的Emoji表情
- emoji表情的保存
- mysql 创建表不能使用“事务”回滚
- java入门 第五天之作业答案 及 接口 简介
- 浅析c++中的类型转换--reinterpret_cast
- JPA 不在 persistence.xml 文件中配置每个Entity实体类的2种解决办法
- 解决putty终端乱码的方法
- 如何截取包含中文、Emoji表情的字符串
- POJ 3259 SPFA
- 使用android内置浏览器打开网页
- 了解HTML的代码注释
- OpenGL中attribute、uniform、varying限定符
- 小练习
- 设计模式第一弹
- [Django模板系统]方法调用与无效变量处理
- 我的第一天博客!