NSScanner を使用して、文字列内の [角括弧] で囲まれたテキストを検出し、それを HTML ハイパーリンクに変換しています。このテキストを次の方法で変換したいと考えています。
This [is an] example of the [text] I'm using
に変換する必要があります
This <a href = "is an">is an</a> example of the <a href = "text">text</a> I'm using
NSScanner を実装しましたが、正しく動作させるには、角かっこの最初と 2 番目の両方を抽出する必要があります。
私のコードの現在の状態は次のとおりです。
NSScanner *theScanner;
NSString *text = nil;
theScanner = [NSScanner scannerWithString:stringWithBrackets];
NSString *stringWithoutBrackets;
while ([theScanner isAtEnd] == NO) {
[theScanner scanUpToString:@"[" intoString:NULL];
[theScanner scanUpToString:@"]" intoString:&text];
<BREAK>
このブレークポイントで、閉じ括弧を含まない文字列が返されます。したがって、上記のテキスト文字列の例では、最初のブレークポイントでの NSString *text の内容は次のようになります。
[is an
文字列を適切に操作するには、開き括弧と閉じ括弧の両方を使用する必要があります。
基本的に、私の質問は次のとおりです。NSScanner を1 つの文字で進め、その文字を変数「テキスト」に含めるにはどうすればよいですか?