NSString

根据段落来拆分字符串

- (void)getParagraphStart:(nullable NSUInteger *)startPtr end:(nullable NSUInteger *)parEndPtr contentsEnd:(nullable NSUInteger *)contentsEndPtr forRange:(NSRange)range;
//startPtr:段落的开始下标
//parEndPtr:该段落的结束下标
//contentsEndPtr:一共有多少个字符
//range:在这个范围内查找.len = 0.表示搜索到结尾.

示例代码:


/** *  遍历传入的Attr,按照段落进行分割,返回分割后的数组*/

- (NSArray *)paragraphsForAttributedString:(NSAttributedString *)input {

NSMutableArray *paragraphs = [NSMutableArray array];

NSUInteger length = [input length];

NSUInteger paraStart = 0, paraEnd = 0, contentsEnd = 0;

NSRange currentRange;

while (paraEnd < length) {

[input.string getParagraphStart:¶Start end:¶End

contentsEnd:&contentsEnd forRange:NSMakeRange(paraEnd, 0)];

currentRange = NSMakeRange(paraStart, contentsEnd - paraStart);

if (currentRange.length > 0)

[paragraphs addObject:[input attributedSubstringFromRange:currentRange]];

else

[paragraphs addObject:[[NSAttributedString alloc] init]];

}

return paragraphs;

}

根据指定字符来拆分字符串,但该方式忽略了\r,\n或unicode字符,如有有需要请用上面的方式.

> - (NSArray*)componentsSeparatedByString:(NSString *)separator;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容