美文网首页
用正则表达式在字符串中提取第一行字符串作为标题

用正则表达式在字符串中提取第一行字符串作为标题

作者: 桃妲 | 来源:发表于2016-07-22 16:13 被阅读789次

最近看了看网上的教程,发现这正则处理文本如此强大,简洁。简单用Objective-C语言尝试一下。写了一个小方法,在字符串中提取标题,iphone中的备忘录没有没有输入标题的地方,他默认第一行非空白文本字符为标题。实现这个功能,尝试用C语言对字符处理和OC的NSSting方法处理都不够简洁,用正则则是这样:\s*.*\s*下面是在Objective-C语言中的使用

//在字符串中提取第一行文本范围
- (NSRange)extractTitleRangeWithString:(NSString *)containerString{
    /**
     \s 匹配任意的空白符
     *  重复零次或更多次
     .  匹配除换行符以外的任意字符
     组合起来就是,拿到空白字符,任意字符,空白字符的组合了。
     
     这和iphone中备忘录的处理方式相同
     */
    
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\\s*.*\\s*"
                                                                           options:NSRegularExpressionCaseInsensitive
                                                                             error:nil];
    NSTextCheckingResult *result = [regex firstMatchInString:containerString options:NSMatchingReportCompletion range:NSMakeRange(0, containerString.length)];
    
    return result.range;
}

获取范围后再配合NSString中的方法,实现提取title的功能。

/**
 提取字符串的标题,忽略前缀后缀空白
 
 @param containerString 需要处理的字符串
 
 @return 标题
 */
- (NSString *)extractTitle:(NSString *)containerString{
    
    NSRange range = [self extractTitleRangeWithString:containerString];
    //获取第一次以换行结束的字符串
    NSString *resultString = [containerString substringWithRange:range];
    //去除字符串首尾的空格和换行符
    NSString *title = [resultString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
    return title;
}

相关文章

  • 正则表达式提取尖括号中内容,存入HashMap

    需求: 提取"LR(:12970100: )"字符串中"<>"中的内容,并且存入hashmap,用正则表达式做 ...

  • 正则表达式

    一 为什么要用正则表达式? 以提取字符串中的数字为例. 如果用传统字符串操作,代码如下 而使用正则表达式,只需...

  • 用正则表达式在字符串中提取第一行字符串作为标题

    最近看了看网上的教程,发现这正则处理文本如此强大,简洁。简单用Objective-C语言尝试一下。写了一个小方法,...

  • 正则表达式(W3C笔记)

    通过使用正则表达式,可以: 测试字符串中的模式 替换文本 基于模式匹配从字符串中提取子字符串 正则表达式的应用领域...

  • 正则表达式

    正则表达式采用贪婪匹配模式以下实例为了匹配字符串booooooooob 括号用于提取字符串: 中括号中的^表示“非...

  • L10:正则表达式基础

    爬虫常常获取到html文件,从中提取有效信息的一种方式就是用正则表达式,方法基础但是强大。正则表达式就是在字符串中...

  • Python基础总结17(正则表达式)

    1、正则表达式相关语法 正则表达式是用匹配或描述字符串的工具,就是一个字符串,字符串中是正则表达式写法:r'字符串...

  • 正则表达式

    导语 正则表达式的作用: 测试字符串内的模式 替换文本 基于模式匹配从字符串中提取子字符串 语法 正则表达式的各组...

  • C++学习笔记(八)String类型(下)

    1、提取子字符串 函数substr可以提取string字符串中的子字符串,该函数有两个参数,第一个参数为需要提取的...

  • Jmeter使用正则表达式提取字符串值

    正则表达式基础用法 正则表达式提取字符串实例 提取 参考:https://blog.csdn.net/weixin...

网友评论

      本文标题:用正则表达式在字符串中提取第一行字符串作为标题

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