iOS根据字节数截取字符串
最近项目有个需求,文章的作者最多显示7个中文字,英文字符算半个中文字,超过7个中文字,则显示:前7个中文字+...,使用NSString的length方法,不管是一个中文还是英文字符,都是返回1。因此写了下面的方法,传入需要截取的原字符串和最多显示的字数(两个英文字符算一个中文字符):
-(NSString*)subTextString:(NSString*)str len:(NSInteger)len{
if(str.length<=len)return str;
int count=0;
NSMutableString *sb = [NSMutableString string];
for (int i=0; i<str.length; i++) {
NSRange range = NSMakeRange(i, 1) ;
NSString *aStr = [str substringWithRange:range];
count += [aStr lengthOfBytesUsingEncoding:NSUTF8StringEncoding]>1?2:1;
[sb appendString:aStr];
if(count >= len*2) {
return (i==str.length-1)?[sb copy]:[NSString stringWithFormat:@"%@...",[sb copy]];
}
}
return str;
}
iOS根据字节数截取字符串相关推荐
- 解决在C#(.net)按字节数截取字符串最后出现乱码的问题
解决在C#(.net)按字节数截取字符串最后出现乱码的问题 参考文章: (1)解决在C#(.net)按字节数截取字符串最后出现乱码的问题 (2)https://www.cnblogs.com/xion ...
- C#根据字节数截取字符串
/// <summary> /// 按最大字节数,截取字符串 /// </summary> /// <pa ...
- Java按字节数截取字符串
最近在开发的过程中遇到的问题,接口要求传入参数在255个字节以内(GBK),但是入参是一个既有中文又有英文的字符串,所以需要按字节截取,翻了半天也没找到有现成的方法,于是选择了这样一种方法实现. /* ...
- vba 根据字节数截取字符串
vba 根据字节数截取字符串 ' str 要截取的字符串 ' byteLen 需要截取的字节长度 ' return byteLen长度的字符串 Public Function kiritoruStr( ...
- Java:根据字节数截取字符串,但是汉字不能截取半个。
截取字符串指定指定字节数的内容,如果指定的字节数在汉字的中间,汉字不能截取部分,只截取前面的内容. package com.lcx.test;import java.io.UnsupportedEnc ...
- C#根据字节数截取字符串【转载】
Web应用程序在浏览器中显示字符串时,由于显示长度的限制,常常需要将字符串截取后再进行显示.但目前很多流行的语言,如C#.Java内部采用的都是Unicode 16(UCS2)编码,在这种编码中所有的 ...
- java 判断汉字是否截半,Java 按照字节来截取字符串的代码(不会出现半个汉字)
/* * Copyright 2012-2013 The Haohui Network Corporation */ package com.haohui.common.utils; /** * ...
- iOS 字符串截取、iOS 字符串替换、iOS 字符串分隔、iOS 字符串匹配、截取字符串、匹配字符串、分隔字符串
iOS之字符串截取.iOS 字符串替换.iOS字符串分隔.iOS之字符串匹配.截取字符串.匹配字符串.分隔字符串 1.iOS 字符串截取 //1.ios截取字符串NSString *string =@ ...
- 自定义EL函数解决JSTL标签不足之处——按字节长度截取字符串
题外话:做过大型网站前台的Web开发程序员最头疼的事情就是前台首页的布局,这其中最最头疼的就是标题字符的截取的问题,虽然有fn:substring,但表现率以及对中文的支持均不够完善,其实最终还是归结 ...
最新文章
- IOS固定IP对动态IP用pre-share
- MySQL 故障集锦
- pandas语法乱、API多?你需要整理一下!|知乎讨论
- 做安全操作系统,这位技术老兵是认真的!
- 我们去的地方一定会有屎
- 强化学习《基于价值 - Q-Learning》
- Python窗体操作函数
- 【python爬虫】报错module requests has no attribute get
- 用winformz时间格式不正确_煮八爪鱼,有人用冷水,有人用开水,大厨:都不对,教你正确做法...
- oracle database 10g rman备份与恢复pdf,Oracle Database10g RMAN备份与恢复
- 如何把PDF中的英文翻译成中文
- 英特尔的指令集体系结构_VLIW指令集架构 cpu指令集跟架构的区别
- gxf------阿里云学生机部署Django项目2020
- ctfshow 密码挑战(上)
- import torchvision报错,UserWarning: Failed to load image Python extension: Could not find module ‘C:\U
- 重力勘探正演模拟matlab,裴雪林, 郭万松 (1995) 高精度重力勘探技术在国内外的应用. 断块油田, 5, 8-11....
- 【二叉树:3】线索二叉树
- 1688店铺所有商品API接口(整店商品查询API接口)
- 少吃一顿就能减轻新冠重症风险?最新医学研究:定期禁食可降低死亡风险,未来可用作新冠补充治疗...
- CubeMX STM32串口1DMA使用IDLE中断接收、串口2DMA接收DMX512信号(标准)