字符串

作者: 十六月 | 来源:发表于2018-09-27 10:35 被阅读10次

* 中英文混合字符串截取

- (NSString *)subStringByByteWithIndex:(NSInteger)index {
  NSInteger sum = 0;
  NSString *sourceStr = @"";
  NSString *subStr = [[NSString alloc] init];

  for(int i = 0; i<[sourceStr length]; i++) {
      unichar strChar = [sourceStr characterAtIndex:i];
      if(strChar < 256) {
        sum += 1; 
      } else {
        sum += 2;
      }
      if (sum >= index) {
        subStr = [sourceStr substringToIndex:i+1];
        return subStr;
      }   
   }
    return subStr;
  }

* 获取字符串字节数

 - (int)getByteNum:(NSString *)string {
    int strlength = 0;
    char* p = (char*)[string cStringUsingEncoding:NSUnicodeStringEncoding];

    for (int i=0 ; i<[string lengthOfBytesUsingEncoding:NSUnicodeStringEncoding] ;i++) {
        if (*p) {
          p++;
          strlength++;
        } else {
          p++;
        }
     }
    return strlength;
 }

* 多行字符串,最后一行的中间处省略多余字符

  UILabel *txtLabel = [[UILabel alloc] init];
  txtLabel.frame = CGRectMake(15, 460, 345, 100);
  txtLabel.numberOfLines = 2;
  txtLabel.backgroundColor = [UIColor cyanColor];
  [self.view addSubview:txtLabel];

  NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:@"上海东方明珠广播电视塔上海东方明珠广播电视塔上海东方明珠广播电视塔上海东方明珠广播电视塔上海东方明珠广播电视塔上海东方明珠广播电视塔"];
  NSMutableParagraphStyle *paraph =  [[NSMutableParagraphStyle alloc] init];
  paraph.baseWritingDirection = NSWritingDirectionRightToLeft;
  paraph.headIndent = 120;
  [attrStr addAttribute:NSParagraphStyleAttributeName value:paraph range:NSMakeRange(0, attrStr.length)];
  txtLabel.attributedText = attrStr;
  txtLabel.lineBreakMode = NSLineBreakByTruncatingTail;
效果如下: 屏幕快照 2018-09-18 下午5.17.59.png

相关文章

  • Javascript知识点整合

    字符串 单行字符串: ‘字符串’或“字符串” 多行字符串: `多行字符串` 字符串操作: 字符串连接‘+’号 长度...

  • C++基础字符串

    字符串的构造 字符串特性描述 字符操作 字符串赋值 字符串连接 字符串比较 字符串查找 字符串替换 字符串删除 字...

  • iOS中的NSString与NSMutableString

    字符串的创建 字符串读写 字符串的比较 字符串的搜索 字符串截取 字符串替换 字符串与路径 字符串转换 NSMut...

  • iOS NSString用法总结

    字符串属性 字符串截取 字符串比较 字符串搜索 字符串拼接 字符串基本类型转换 字符串分行,分段 字符串列举(按条...

  • php 字符串常见方法汇总

    字符串拼接 字符串检索 字符串截取 字符串替换 字符串大小写转化 字符串转数组 字符串格式化

  • iOS 字符串截取、iOS 字符串替换、iOS 字符串分隔、iO

    iOS之字符串截取、iOS 字符串替换、iOS字符串分隔、iOS之字符串匹配、截取字符串、匹配字符串、分隔字符串 ...

  • PHP中字符串函数库常用函数解析 -- PHP 学习 (十一)

    常用字符串函数分类: 字符串长度, 字符串查找, 字符串大小写转换, 字符串截取, 字符串 ASCII, 字符串加...

  • Kotlin语言(二):字符串类型

    1、字符串定义 2、字符串删除空格 3、字符串比较 4、字符串切割 5、字符串截取 6、字符串替换 7、字符串模板

  • 字符串扩展

    求字符串大小 字符串解码、转换 字符串截取 字符串汉字处理 字符串 Mac地址 字符串进制转换

  • 2020-09-30字符串

    day8-字符串 字符串的操作 in 和 not in字符串1 in 字符串2 - 判断字符串1是否是字符串...

网友评论

      本文标题:字符串

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