文档章节

iOS 取出一段字符串里面的数字

琳小兮
 琳小兮
发布于 2016/07/23 10:55
字数 240
阅读 210
收藏 0

+(NSString *)ModifyImidForName:(NSString *)originalStr{
    
   AppDelegate *appdele = (AppDelegate *)[UIApplication sharedApplication].delegate;
    //保存聊天页所有人的昵称,头像,聊天id
    NSMutableDictionary *userInfoDic = [NSMutableDictionary dictionary];
    
    //保存聊天页所有人的聊天id
    NSMutableArray *arr = [NSMutableArray array];
    
    NSString *contentStr;

    //关键代码-------------start
    NSString *regex = @"\\d*";
    NSError *error;
    NSRegularExpression *regular = [NSRegularExpression regularExpressionWithPattern:regex
                                                                             options:NSRegularExpressionCaseInsensitive
                                                                               error:&error];
    // 对str字符串进行匹配
    NSArray *matches = [regular matchesInString:originalStr
                                        options:0
                                          range:NSMakeRange(0, originalStr.length)];
    // 遍历匹配后的每一条记录
    for (NSTextCheckingResult *match in matches) {
        NSRange range = [match range];
        NSString *imid = [originalStr substringWithRange:range];
        
        if(imid.length > 0 && [self isNumber:imid]){
            //            NSLog(@"imid: %@", imid);
            [arr addObject:imid];
        }
    }

    //关键代码-------------end
    
    if(arr.count > 0){
        contentStr = [originalStr mutableCopy];
        for (int i = 0; i < arr.count; i ++) {
            NSString *imid = arr[i];
            
            //如果还没有保存当前的imid,再从数据库获取数据
            if (![[userInfoDic allKeys] containsObject:imid]){
                NSMutableDictionary *dictionary = [appdele getSqliteCurrentData:imid];
                [userInfoDic setObject:dictionary forKey:imid];
            }
            
            //替换id为名字
            contentStr =  [contentStr stringByReplacingOccurrencesOfString:imid withString:userInfoDic[imid][@"name"]];
        }
        //            NSLog(@"mycontentStr: %@",contentStr);
    }
    
    return contentStr;
}

 

© 著作权归作者所有

共有 人打赏支持
琳小兮
粉丝 30
博文 37
码字总数 20054
作品 0
襄阳
程序员
c++ cout格式化输出函数详解

这篇文章主要讲解如何在C++中使用cout进行高级的格式化输出操作,包括数字的各种计数法(精度)输出,左或右对齐,大小写等等。通过本文,您可以完全脱离scanf/printf,仅使用cout来完成一切...

lieefu
2015/10/30
0
0
c++0.7-----源码分析:iostate及badbit/failbit/eofbit/goodbit以及io文件的包含关系

代码取自GNU g++ 编译器携带的标准库,文件位置在E:codeblockCodeBlocksMinGWlibgccmingw325.1.0includec++bitsios_baseh 文件的关系: iostream文件: #include        #include istre...

RNG_Uzi
07/23
0
0
iOS逆向与安全(一):环境搭建

前言 从本篇文章开始,笔者会整理iOS逆向相关的笔记。作为一位新人,希望通过整理笔记能够更好的理解和掌握知识。作为新人能力有限,在行文时难免出现错误欢迎批评和指正。 前期准备 一台越狱...

紫电清霜Owenli
09/16
0
0
最清晰的ios消息推送机制教程

研究了一下Apple Push Notification Service,实现的很简单,很环保.原理如下 财大气粗的苹果提供了一堆服务器,每个ios设备和这些服务器保持了一个长连接,ios版本更新提示,手机时钟校准什么的都...

whj
2014/03/16
0
0
C++ Primer Plus(十七)——输入、输出和文件

cerr和clog对象与标准错误流对应,但cerr不被缓冲。 2. streambuf类为缓冲区提供了内存,并提供了用于填充缓冲区、访问缓冲区内容、刷新缓冲区和管理缓冲区内存的类方法。iosbase类表示流的一...

吃一堑消化不良
2017/11/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSX | SafariBookmarksSyncAgent意外退出解决方法

1. 启动系统, 按住⌘-R不松手2. 在实用工具(Utilities)下打开终端,输入csrutil disable, 然后回车; 你就看到提示系统完整性保护(SIP: System Integrity Protection)已禁用3. 输入reboot回车...

云迹
今天
3
0
面向对象类之间的关系

面向对象类之间的关系:is-a、has-a、use-a is-a关系也叫继承或泛化,比如大雁和鸟类之间的关系就是继承。 has-a关系称为关联关系,例如企鹅在气候寒冷的地方生活,“企鹅”和“气候”就是关...

gackey
今天
4
0
读书(附电子书)|小狗钱钱之白色的拉布拉多

关注公众号,在公众号中回复“小狗钱钱”可免费获得电子书。 一、背景 之前写了一篇文章 《小狗钱钱》 理财小白应该读的一本书,那时候我才看那本书,现在看了一大半了,发现这本书确实不错,...

tiankonguse
今天
4
0
Permissions 0777 for ‘***’ are too open

异常显示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ......

李玉长
今天
5
0
区块链10年了,还未落地,它失败了吗?

导读 几乎每个人,甚至是对通证持怀疑态度的人,都对区块链的技术有积极的看法,因为它有可能改变世界。然而,区块链技术问世已经10年了,我们仍然没有真正的用上区块链技术。 几乎每个人,甚...

问题终结者
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部