我需要在句子输入中加入一个单词并加粗它的风格。 这是我的代码
NSString *regexString = @"(\\<-\\w+(\\s\\w+)*\\->)\\s";
NSString *aString = @"Notes on iOS7 going to take a <-lot-> of getting used to!";
NSRegularExpression *regex1 = [NSRegularExpression
regularExpressionWithPattern:regexString
options:NSRegularExpressionCaseInsensitive
error:&error];
NSString *match =
[aString substringWithRange:[regex1 rangeOfFirstMatchInString:aString
options:NSMatchingCompleted range:NSMakeRange(0, [aString length])]];
NSLog(@"Matched string: %@", match);
字符串:关于iOS7的注释将采用&lt; -lot-&gt;习惯了!
在NSLog中打印的字符串:匹配字符串:&lt; -lot-&gt;
在这里我只需要得到&#34;很多&#34;单词
预期打印:匹配字符串:很多
我还需要在这样的句子中更改这个单词的类型:关于iOS7的注释要习惯很多!
答案 0 :(得分:1)
以下是打印该字词的示例代码:
NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(?<=<-)\\w+(?=->)" options:0 error:&error];
if (regex) {
NSRange rangeOfFirstMatch = [regex rangeOfFirstMatchInString:subject options:0 range:NSMakeRange(0, [subject length])];
if (!NSEqualRanges(rangeOfFirstMatch, NSMakeRange(NSNotFound, 0))) {
NSString *result = [string substringWithRange:rangeOfFirstMatch];
} else {
// Match attempt failed
}
} else {
// Syntax error in the regular expression
}
<强>解释强>
(?<=<-)
断言前面的内容是<-
(但不匹配)\w+
匹配单词字符(?=->)
声称接下来是->
(但不匹配)<强>参考强>