3

我有一个这样的字符串:

NSString* msg = @"Hello this is a new message to @[123:Dr Zoidberg] and his nippers";

我想用来-stringByReplacingMatchesInString:options:range:withTemplate:将此模式转换为:

NSString* msg = @"Hello this is a new message to Dr Zoidberg and his nippers"; 

这是我到目前为止所拥有的:

NSString* msg = @"Hello this is a new message to @[123:Dr Zoidberg] and his nippers";
NSRegularExpression* regex = [NSRegularExpression regularExpressionWithPattern: @"????"
                                                                       options: NSRegularExpressionCaseInsensitive
                                                                         error: nil];

NSString* plainText = [regex stringByReplacingMatchesInString: msg
                                                      options: 0
                                                        range: NSMakeRange(0, [msg length])
                                                 withTemplate: @"$2"];

任何人都可以帮助我@“??????” 图案?

4

3 回答 3

2

这是我所追求的模式:@(.*?):(.*?)]。谢谢去这个问题

于 2012-08-27T13:49:39.360 回答
0

尝试更换

@\[\d+:(.+?)\]

\1小组

解释:

匹配@后跟[,然后是任意数量的数字,后跟逗号。从这一点获取文本,直到找到右方括号。

如果数字之间可以有任何类型的空格,:您可以使用这个

@\[\d+\t*:(.+?)\]
于 2012-08-27T13:46:44.887 回答
0

搜索@\[123:(.*?)\]并替换为\1

于 2012-08-27T13:48:03.560 回答