//

//  NSString+NSStringExt.m

//  01-NSString类

//

//  Created by apple on 14-3-20.

//  Copyright (c) 2014年 apple. All rights reserved.

//

#import "NSString+NSStringExt.h"

@implementation NSString (NSStringExt)

- (int)calculateSubStringCount:(NSString *)str

{

////@"abcd123abcdrgabc"

//@"abc"

int count = 0;

NSRange range = [self rangeOfString:str];

if (range.location == NSNotFound)

{

return count;

}

//声明一个临时字符串,记录截取之后的字符串

NSString * subStr = self;

while (range.location != NSNotFound) {

//只要进入循环就要count++

count++;

//每次记录之后,把找到的字串截取掉

//range.location + range.length 得出的结果就是我们要截取的字符串起始索引的位置

subStr = [subStr substringFromIndex:range.location + range.length];

NSLog(@"subStr %@",subStr);

//每一次截取之后,要判断一些,截取完成剩余部分字符串,是否还有子串存在

//如果存在,我们的while循环会继续运行,如果不存在while循环结束

range = [subStr rangeOfString:str];

NSLog(@"rang %@",NSStringFromRange(range));

NSLog(@"location=%lu",range.location);

}

return count;

}

@end

计算NSString含有多少个相同字符串的更多相关文章

  1. NSString用法,object-C数组以及字符串拼接和分割

    一.介绍使用NSString创建一个字符串的代码如下: #import <Foundation/Foundation.h>int main (int argc, char *argv[]) ...

  2. 13、如何拆分含有多种分隔符的字符串 14、如何判断字符串a是否以字符串b开头或结尾 15、如何调整字符串中文本的格式 16、如何将多个小字符串拼接成一个大的字符串

    13.如何拆分含有多种分隔符的字符串 import re s = "23:41:2314\1234#sdf\23;" print(re.split(r'[#:\;]+',s))   ...

  3. NSString 处理技巧:分割字符串

    摘要 string类型是objective-c中用的最多的类型之一,有时会出现字符串中有我们不想要的字符. 如 "hello world"中的空格,或是"hello/wo ...

  4. iOS NSString类中获取子字符串

    NSString类中提供了这样三个方法用于获取子字符串: – substringFromIndex://取字符串长度从0开始,当index=str.length时字符串为空"" – ...

  5. 利用NSString的Hash方法比较字符串

    实际编程总会涉及到比较两个字符串的内容,一般会用 [string1 isEqualsToString:string2] 来比较两个字符串是否一致.对于字符串的isEqualsToString方法,需要 ...

  6. python完成加密参数sign计算并输出指定格式的字符串

    加密规则: 1.固定加密字符串+字符串组合(key/value的形式,并通过aissc码排序), 2.通过sha1算法对排序后的字符串进行加密, 3.最终输出需要的参数sign 4.完成请求参数数据的 ...

  7. SqlSever基础 len函数 计算前后都有空格的字符串的长度时

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  8. SqlSever基础 datalength函数 计算前后都有空格的字符串的长度

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  9. python_如何拆分含有多种分隔符的字符串?

    案例: 把某个字符串依据分隔符拆分,该字符包含不同的多种分隔符,如下 s = '12;;7.osjd;.jshdjdknx+' 其中 ; . + 是分隔符 有哪些解决方案? 方法1:通过str.spl ...

随机推荐

  1. JavaScript 页面跳转的几种方式 转

    第一种:      <script language="JavaScript" type="text/javascript">         wi ...

  2. GitHub 初探

    前言:有时候在公司上班时自己写了一些代码,打算下班回家后继续写,或者在家修改好的代码第二天要拷到公司继续完善,代码就经常要在这两者之间来回同步,通常情况下我用网盘或者U盘,但是实在是很麻烦,不断的备份 ...

  3. IT运维的五大基础知识

    IT运维的五大基础知识 | 浏览:331 | 更新:2014-09-25 11:36 IT运维对于很多企业都很重要,接下来运维的一些基础知识天天客服IT运维总监龙少文,就给大家介绍下IT运维的基础知识 ...

  4. ExtJS笔记2 Class System

    For the first time in its history, Ext JS went through a huge refactoring from the ground up with th ...

  5. C#winfrom控件命名规范

     ※用红字标记的部分表示有重复出现,括号内为替代表示方案 1.标准控件 序号 控件类型简写 控件类型 1 btn Button 2 chk CheckBox 3 ckl CheckedListBox ...

  6. Bit-Value Type

    https://dev.mysql.com/doc/refman/5.7/en/bit-type.html MySQL 5.7 Reference Manual  /  ...  /  Bit-Val ...

  7. terminal(终端),shell,tty,console(控制台)区别

    原文地址  stackexchange:What is the exact difference between a 'terminal', a 'shell', a 'tty' and a 'con ...

  8. mysql源码重启

    1.通过rpm包安装的MySQL service mysqld restart /etc/inint.d/mysqld start 2.从源码包安装的MySQL // linux关闭MySQL的命令 ...

  9. CSS控制"标题前增加小图标或编号"

    ---题目前加图片--- p:before { content:url(xxx/xx.png); }//所有p的最前都有一个图标 p.a:after { content:url(xxx/xx.png) ...

  10. Express创建并运行node项目(Jade和EJS模版引擎)

    1.创建Node项目 [Jade模板] > express nodeJade express创建项目若不显示指定模板,默认使用Jade,以下写法都可以: express -jade nodeJa ...