NSString 简单模式匹配

问题描述 投票:0回答:1

Mac OS 10.6,Cocoa 项目,需要 10.4 兼容性。

(请注意:我对正则表达式的了解还很浅)

我需要解析 NSStrings,以匹配字符串包含嵌入标签的情况,其中标签格式为:

[xxxx]

其中 xxxx 是随机字符。

例如“敏捷的棕色[狡猾]狐狸喜欢袜子”。

在上面的例子中,我需要抓取字符串“foxy”。 (如果没有找到标签则为零。)

每个字符串只会有一个标签,并且该标签可以出现在字符串中的任何位置,也可以根本不出现。

有人可以帮忙找到一种方法吗,最好不需要包含另一个库,例如 RegexKit。谢谢您的帮助。

regex cocoa nsstring
1个回答
4
投票

我建议如下:

NSString *subString = nil;
NSRange range1 = [myString rangeOfString:@"["];
NSRange range2 = [myString rangeOfString:@"]"];
if ((range1.length == 1) && (range2.length == 1) && (range2.location > range1.location)) {
  NSRange range3;
  range3.location = range1.location+1;
  range3.length = (range2.location - range1.location)-1;
  subString = [myString substringWithRange:range3];
}
© www.soinside.com 2019 - 2024. All rights reserved.