使用正则表达式寻找字符串中出现了几个[***]样式的字符串

使用正则表达式寻找字符串中出现了几个[***]样式的字符串

源码如下:

- (NSUInteger)analyseRX:(NSString *)string withPatternString:(NSString *)patternString
{
    //     \\[[^\\]]+\\]  用以匹配字符串中所出现的 [*] 的个数
    //     <[^>]+>        用以匹配字符串中所出现的 <*> 的个数

    if (string == nil)
    {
        return 0;
    }

    // 正则表达式
    NSRegularExpression *regex = \
        [NSRegularExpression regularExpressionWithPattern:patternString
                                                  options:NSRegularExpressionCaseInsensitive
                                                    error:nil];
    // 执行相关匹配操作
    NSRange range = NSMakeRange(0, [string length]);
    NSUInteger numberOfMatches = [regex numberOfMatchesInString:string
                                                        options:0
                                                          range:range];

    // 返回匹配的个数
    return numberOfMatches;
}

比如,如果你想查询字符串中出现了几个[**]结构的字符串,就比如下面的字符串:

很简单吧,你也可以替换相关字符串哦.

 

心得:

这种字符串里面查找出现了某种样式模板的字符串就用正则表达式吧,其实你也别无它法了:)

 

附录:

http://stackoverflow.com/questions/8672525/regular-expression-in-objective-c

时间: 2024-08-31 22:52:18

使用正则表达式寻找字符串中出现了几个[***]样式的字符串的相关文章

c++中在字符串中查以 _N开头的所有字符串

问题描述 c++中在字符串中查以 _N开头的所有字符串 比如: _Naaaaa _Nbbbbbbbb sfadsfasfsafsa 可以查找到上述的_Naaaaa 和 _Nbbbbbbbb 并把这两个字符串,复制到array[0]....array[1]中. 求完整程序啊 解决方案 #include <stdio.h> #include <string> int main() { char *str[3]={"_Naaaaa","sfadsfasfsa

C++实现将一个字符串中的字符替换成另一个字符串的方法_C 语言

本文实例讲述了C++实现将一个字符串中的字符替换成另一个字符串的方法,分享给大家供大家参考.具体方法如下: 题目要求: 原地实现字符串中的每个空格替换成"%20",例如输入"We are happy", 输出"We%20are%20happy" 被替换的字符串当然不仅仅是空格,上面只是个例子 这是道很好的题目,也是百度面试中的一道题,题目不难,但是问题得考虑全面.这里给出如下实现代码: #include <iostream> #inc

javascript 查找字符串中最后一次出现字符或字符串

在js中要实现查找字符串中最后一次出现字符或字符串我们可以用到lastIndexOf() 方法 string.lastIndexOf(string, num)     string.lastIndexOf(string) lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索 <html>     <script language="JavaScript">     <!--     var myStr

快速比较两个字符串中字符完全相同:即兄弟字符串比较

刚才上网,看到这个问题在好多论坛上得到很大的讨论,于是尝试练习了一下. [问题描述] 对于两个字符串,判定包含的字符是否完全相同.比如:"sabac"和 "basca"算是包含的字符完全相同,并且相同字符的数量也一样要相同,但它们顺序可以不一样. [问题分析] 1.先判断两个字符串的长度是否相同 2. 判断相同长度的字符串中的字符和相同字符的数量是否相同. 更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Pro

[搜狗] 找一个字符串中包含全部出现字符的最小字符串

一个字符串中含有n个字符,其中有m个不同的字符,n>>m,用最少的时间和空间找到包含所有这m个字符的最短的字串,不考虑特殊字符,只考虑字母数字即可. 例如: abccbaddac,返回:cbad aabcadbbbcca,返回:bcad 实现代码: #include <iostream> using namespace std; void Search(char input[], char output[]); int main() { char* input = "ab

编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符 例如: 原始字符串是&amp;amp;quot;abc&amp;amp;quot;,打印得到下列所有组合情况 &amp;amp;quot;a&amp;amp;quot; &amp;amp;quot;b&amp;amp;quot; &amp;amp;quot;c&amp;amp;quot; &amp;amp;quot;ab&amp;amp;quot; &amp;amp;quot;b

问题描述 请问大神这段代码哪里错了package备份;importjava.io.*;importjava.util.*;publicclasspllll备份{publicstaticvoidmain(String[]args)throwsException{BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));Stringp=br.readLine();dy(br,p);}publicstaticvoiddy(B

asp.net中C#获取字符串中汉字的个数的具体实现方法_实用技巧

符串可以包括数字,字母,汉字或者其他的字符.使用Char类型的IsDigit静态方法可以判断字符串中的字符是否为数字,使用Char类型中的IsLetter静态方法可以判断字符串中是否为字母.我们来实现一种方法来实现判断字符串中是否为汉字,通过此方法可以计算字符串中汉字的个数,运行效果如图: 首先根据效果图设置好Form的界面和内容,Box1.Text为输入的字符串,我们对该字符串的处理,来计算汉字的个数,双击Buton控件,编辑其单击事件代码. 我们看下汉字的Unicode范围,普遍给出了0x4

asp.net中C#获取字符串中汉字的个数实例

符串可以包括数字,字母,汉字或者其他的字符.使用Char类型的IsDigit静态方法可以判断字符串中的字符是否为数字,使用Char类型中的IsLetter静态方法可以判断字符串中是否为字母.我们来实现一种方法来实现判断字符串中是否为汉字,通过此方法可以计算字符串中汉字的个数,运行效果如图: 首先根据效果图设置好Form的界面和内容,Box1.Text为输入的字符串,我们对该字符串的处理,来计算汉字的个数,双击Buton控件,编辑其单击事件代码. 我们看下汉字的Unicode范围,普遍给出了0x4

使用正则表达式匹配[***]样式的字符串_正则表达式

源码如下: 复制代码 代码如下: - (NSUInteger)analyseRX:(NSString *)string withPatternString:(NSString *)patternString{    //     \\[[^\\]]+\\]  用以匹配字符串中所出现的 [*] 的个数    //     <[^>]+>        用以匹配字符串中所出现的 <*> 的个数     if (string == nil)    {        return 0