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

    字符串的正则判断

  • 相关阅读:
    PHP开发学习门户改版效果图投票
    怎样用js得到当前页面的url信息方法(JS获取当前网址信息)
    java 获取当期时间之前几小时的时间
    超人学院Hadoop大数据技术资源分享
    plsql导入一个目录下全部excel
    UML简单介绍
    Mod in math
    父母之爱子,则为之计深远是什么意思?_百度知道
    2014创客118新年大爬梯_活动行-国内最好的活动报名及售票平台!
    北京创客空间 BEIJING MAXPACE的小站
  • 原文地址:https://www.cnblogs.com/IOS-Developer/p/4211108.html
Copyright © 2011-2022 走看看