美文网首页
iOS从文件读取字符串,无分隔符分割成数组

iOS从文件读取字符串,无分隔符分割成数组

作者: 谭谭谭思密达 | 来源:发表于2022-03-31 15:30 被阅读0次

iOS从文件读取中午使用UTF-8编码时,部分复杂的中文会占用4-6个字节。如果按1位来分割加入数组就会出现错误。如 𬺓 字,会占用两个长度。

    NSString *files  = [[NSBundle bundleWithPath:_bundlePath] pathForResource:@"cn_1.1" ofType:@"txt"];
    NSString *lines   = [[NSString stringWithContentsOfFile:files encoding:NSUTF8StringEncoding error:nil] stringByReplacingOccurrencesOfString:@"\n" withString:@""];
    NSMutableArray *characterArray = [NSMutableArray array];
    NSRange range = NSMakeRange(0, 1);
    for(int i = 0; i < lines.length; i += range.length){
        range.location = i;
        NSString *character = [lines substringWithRange:range];
        [characterArray addObject:character];
    }
77695B33-126B-4E32-B8EC-C33FCC3CB780.png

使用[str rangeOfComposedCharacterSequenceAtIndex:i]方法可以获得改文字的真实长度,用于分割可以得到正确的结果

    NSString *files  = [[NSBundle bundleWithPath:_bundlePath] pathForResource:@"cn_1.1" ofType:@"txt"];
    NSString *lines   = [[NSString stringWithContentsOfFile:files encoding:NSUTF8StringEncoding error:nil] stringByReplacingOccurrencesOfString:@"\n" withString:@""];
    NSMutableArray *characterArray = [NSMutableArray array];
    NSRange range = NSMakeRange(0, 1);
    for(int i = 0; i < lines.length; i += range.length){
        range = [lines rangeOfComposedCharacterSequenceAtIndex:i];
        NSString *character = [lines substringWithRange:range];
        [characterArray addObject:character];
    }

相关文章

  • swift5.0 数组Array的常用方法总结

    · 数组与字符串的互转 数组转字符串 字符串转数组 没有分隔符的字符串分割 有分隔符的字符串分割 注释:在使用分隔...

  • Linux 常用小技巧

    批量结束进程 文件按行读取并把每行按多个空格分割成数组 按照文件名挑选文件 cut 命令 (按特定分隔符分割字符并...

  • 数组API

    1、join() 将数组转换为字符串,字符串按照分隔符分割,返回分割好的字符串 。 语法: array.join(...

  • iOS从文件读取字符串,无分隔符分割成数组

    iOS从文件读取中午使用UTF-8编码时,部分复杂的中文会占用4-6个字节。如果按1位来分割加入数组就会出现错误。...

  • 数组API

    1、join() 将数组转换为字符串,字符串按照分隔符分割,返回分割好的字符串 。 语法: 返回值 返回一个字符串...

  • txt读写

    文件打开 读文件 读取字符串 按行读取整个文件 写文件 字符串写入txt 列表写入文件 双层列表写入文件 数组写入文件

  • IO流java.util.Scanner

    从键盘读取 从字符串读取 从文件读取

  • JS对于字符串的切割截取

    1.函数:split() 功能:字符串转数组,使用一个指定的分隔符把一个字符串分割存储到数组 例子: str=”...

  • JS之字符串操作

    split() 按指定分隔符将字符串分割为数组 join() 把数组转换成字符串,里面的每一个元素可以用你指定的...

  • Swift 数组和字符串转换基础

    数组转字符串 有分隔符的字符串分割 //注意:该方法主要是用来判断数组中是否包含符合某个条件的对象,返回值为tru...

网友评论

      本文标题:iOS从文件读取字符串,无分隔符分割成数组

      本文链接:https://www.haomeiwen.com/subject/czlnjrtx.html