zoukankan      html  css  js  c++  java
  • Foundation框架之NSString及其Mutable类型

    Foundation框架之NSString及其Mutable类型

     

    目录

    • 概述
    • 对字符串的实用操作

    拼接

    拆分

    字符串比较

    是否包含某字符串

    字数统计

    大小写转换

    • 具体的方法参见API
    • 待研究

     

    概述

    对NSString的理解

     

    对字符串的实用操作

    拼接

    NSString *combinedStr = [NSString stringWithFormat:@"%@%@",str0,str1];

    注:本人比较倾向于使用这种方式做字符串的拼接,可扩展性强,当有新需求时只需要更改format里面的即可,增删比较方便

    拆分

    NSArray *strArrays = [str2 componentsSeparatedByString:@"str"];

    NSArray *strArrays2 = [str2 componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"str"]];

    字符串比较

    不忽略大小写

    [str isEqualToString:@"str"];

    忽略大小写

    [str caseInsensitiveCompare:@"str"] == NSOrderedSame

    是否包含某字符串

    不忽略大小写

    NSRange range = [str rangeOfString:@"str"];

    if(range.length>0){ //包含 }

    忽略大小写

    NSRange range = [str rangeOfString:@"str" options:NSCaseInsensitiveSearch];

    if(range.length>0){ //包含 }

    字数统计

    字符总数

    [str length];

    某一字符串的个数(includeStr为查找的字符串)

    实现方式一

    NSArray *array = [str componentsSeparatedByString:includeStr];

    NSUInteger sum = array.count - 1;

    实现方式二

    实现思路

    每找到一个字符,下一次的寻找范围为先前找到的字符串下一位置开始到字符串末尾,循环寻找,直至没有找到或者到字符串末尾

    + (NSUInteger)string:(NSString *)str includeStr:(NSString *)includeStr{

      NSUInteger sum = 0;

      NSUInteger index = 0;

      NSRange range = [str rangeOfString:includeStr options:NSLiteralSearch range:NSMakeRange(0,[str length])];

      while(range.length > 0){

        sum += 1;

        index = range.location + range.length;

        //到字符末尾

        if(index >= [str length]){

          break;

        }

        range = [str rangeOfString:includeStr options:NSLiteralSearch range:NSMakeRange(index,[str length] - index)];  //注1

      }

      return sum;

    }

    注1

    返回的NSRange的location为从字符串的头开始算起,而不是从index的位置开始算起

    忽略大小写则只需要把两个地方的options参数更改成:NSCaseInsensitiveSearch

    大小写转换

    [str lowercaseString];

    [str uppercaseString];

     

    具体的方法参见API

    待研究

    根据字符串首字母进行排序

    NSLocale

    字符串的正则判断

  • 相关阅读:
    Comet OJ 夏季欢乐赛 篮球校赛
    USACO Tractor
    Comet OJ 夏季欢乐赛 Gree的心房
    USACO Hide and Seek
    Comet OJ 夏季欢乐赛 分配学号
    php如何上传txt文件,并且读取txt文件
    插入多行数据的时候,一个insert插入多行
    连接优化查询,按条件查询的时候,如何优化查询的时间
    如何将txt的多行记录直接导入到mysql数据库
    如何在自己的网页上插入一个超链接,发起临时qq会话
  • 原文地址:https://www.cnblogs.com/IOS-Developer/p/4211108.html
Copyright © 2011-2022 走看看