-1

解析/正規表現して数値187,215を取得する必要がある多数のNSStringがあります。181,170; 69,63; などなど。

a:2:{i:0;s:3:"187";i:1;s:3:"215";}
a:2:{i:0;s:3:"181";i:1;s:3:"170";}
a:2:{i:0;s:2:"69";i:1;s:2:"63";}

誰でも助けることができますか?

4

1 に答える 1

1

仮定:

  1. 取得しようとしているアイテムは数字のみです (内部に他の文字はありません)。数字 (または引用符内のすべて) が必要なものであることがわかっている場合は、それらを囲む引用符を検索できます。
  2. 引用符は、検索する項目 (数字) を含めるためにのみ使用されます。

数字と周囲の引用符が必要な場合 "\d+?"

これにより、引用符内の任意の数字 ( による 1 つ以上の数字+) が取得されます。正規表現は通常「貪欲」であるため、の?後にを追加+すると「非貪欲」になるか、最後の引用符が見つかるまで処理するのではなく、次の引用符にヒットした後に処理と数字の検索が停止します。

数字だけが必要な場合 (?<=")\d+?(?=")

これは前の正規表現に似ています。唯一の違いは、返されるアイテムから引用符が除外されることです。正規表現に引用符を含めると、それらが確実に一致し、それらが返されます。この正規表現は、正の先読みと後読みを使用して、探しているパターンの\d+?前に引用符があり、その後に引用符が続くようにします。

于 2013-04-26T12:48:36.107 に答える