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

検索し@\[123:(.*?)\]て置き換えます\1

于 2012-08-27T13:48:03.560 に答える
0

交換してみてください

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

\1グループと

説明:

一致の@[に、、任意の桁数の後にコンマを続けます。この時点から、閉じ角かっこが見つかるまでテキストを取得します。

数字の間に任意の種類の空白が存在する可能性がある場合は、:これを使用できます

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