- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
如何使用 NSRegularExpression 提取“badgeCount”标签之间的值“6”。以下是服务器的响应:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><badgeCount>6</badgeCount><rank>2</rank><screenName>myName</screenName>
以下是我试过但没有成功的代码。实际上它进入 else 部分并打印“正则表达式的值是零”:
NSString *responseString = [[NSString alloc] initWithBytes:[responseDataForCrntUser bytes] length:responseDataForCrntUser.length encoding:NSUTF8StringEncoding];
NSError *error;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(?<=badgeCount>)(?:[^])*?(?=</badgeCount)" options:0 error:&error];
if (regex != nil) {
NSTextCheckingResult *firstMatch = [regex firstMatchInString:responseString options:0 range:NSMakeRange(0, [responseString length])];
NSLog(@"NOT NIL");
if (firstMatch) {
NSRange accessTokenRange = [firstMatch rangeAtIndex:1];
NSString *value = [urlString substringWithRange:accessTokenRange];
NSLog(@"Value: %@", value);
}
}
else
NSLog(@"Value of regex is nil");
如果您能提供示例代码,我们将不胜感激。
注意:我不想使用 NSXMLParser。
最佳答案
例子:
NSString *xml = @"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><badgeCount>6</badgeCount><rank>2</rank><screenName>myName</screenName>";
NSString *pattern = @"<badgeCount>(\\d+)</badgeCount>";
NSRegularExpression *regex = [NSRegularExpression
regularExpressionWithPattern:pattern
options:NSRegularExpressionCaseInsensitive
error:nil];
NSTextCheckingResult *textCheckingResult = [regex firstMatchInString:xml options:0 range:NSMakeRange(0, xml.length)];
NSRange matchRange = [textCheckingResult rangeAtIndex:1];
NSString *match = [xml substringWithRange:matchRange];
NSLog(@"Found string '%@'", match);
NSLog输出:
Found string '6'
关于objective-c - NSRegularExpression 提取两个 XML 标签之间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7661254/
我有一个像这样的字符串: ?key=123%252Bf-34Fa&name=John ?name=Johon&key=123%252Bf-34Fa 我想获取key的值,我使用此NSRegularExp
我曾使用 NSScanner 从下面的文本中检索数字。但有时结果并不像预期的那样。听说 iOS 4 可用的 NSRegularExpression 类更适合做这种类型的提取。由于我是 NSRegula
全部, 我有一本包含两个键和值的字典。我需要从它们中提取一些片段并将它们放入单独的字符串中。 { IP = "192.168.17.1"; desc = "VUWI-V
我想用 iPhone 的 NSRegularExpression 类解析此文本: Uploaded652.81 GB 用于摘录上传和652.81文本。 最佳答案 虽然我确实认为 xml 解析器更适合解
嗨,我遇到了问题,如果字符串中没有电话号码,并且 NSRegularExpression 找不到任何内容,则应用程序崩溃,但当它确实找到电话号码时,它在字符串中工作正常,没有任何问题。我怎样才能阻止它
我的代码看起来像 NSString *pattern = @"\\w+(\\w)"; NSRegularExpression *regex = [NSRegularExpression
我在理解使用 NSRegularExpression 获取捕获组时遇到了一些问题 let string = "QWERTY123 ASDFGH" let nsString = string as NS
我有一个正在 UIWebView 中显示的 HTML 字符串。有一些希腊文本,Unicode 范围 U+0370–U+03FF,我想通过将其括在跨度中以不同的字体显示。我可以搜索\p{script=G
我正在尝试更改字符的颜色和任何文本,我正在使用 NSRegularExpression 来获取字符,但我不知道如何更改以下字符,例如这是我的文本: ● Title...... some descrip
我正在编写一个通过 TCP 接收消息 block 的应用程序。消息 block 由以下部分组成: 固定 header <<:--!! 给出消息长度的 6 位数字 消息本身 使用 NSRegularEx
我知道 NSBackwardSearch 用于向后搜索字符串。 我的问题是,我可以通过 NSRegularExpression 进行相同的反向搜索吗? 如果是,请分享您的知识? 最佳答案 NSRegu
我想将 stringWithHashtags 中的每个单词添加到以 @ 和 # 开头的 attString 中.我认为最简单的方法是合并两个 NSRegularExpression 然后将其分配给数组
所以我正在开发一个 iPhone 应用程序,它拍摄一些文本的图片,图片经过 OCR 处理并发回给我,然后我使用正则表达式在字符串中搜索 double 值,最多可达xxxx.xx。 NSRegularE
我必须在 iOS 应用程序上动态替换 HTML 文件。 这与本地化有关。 在 HTML 文件中,我有类似这样的内容:LANG(183) 必须将其转换为“本地化字符串” 我正在查看 stringByre
我想使用NSRegularExpression获取html中的所有下载链接。 例如html内容是这样的: text info 我想得到这样的所有字符串: href="http://xxxx.com/f
我想让 TextView 中的匹配项为蓝色。 NSString *text = @"Except as contained in #wep this notice, the name of a cop
我使用 NSRegularExpression 来查找与特定模式匹配的内容,该模式在代码片段中可见: - (NSString *)functionPattern { return @"[A-Z
我正在尝试编写一个函数,它有一个 NSString 并解析它返回一个标签数组。 标签的定义是任何以# 开头并且在# 之后仅包含字母数字字符的 nsstring 文本。 这是正确的吗? #.*?[A-Z
我有以下网址: https://api.instagram.com/v1/tags/picoftheday/media/recent?access_token=29088696%2Efd3325f%2
您好,我在 NSRegularExpressions 中使用正则表达式的非捕获组功能时遇到问题 下面是一些捕获匹配的代码: func matches(for regex: String, in tex
我是一名优秀的程序员,十分优秀!