0

ユーザーから収集した情報を解析する方法を理解しようとして問題が発生しています。私が収集している情報は次のとおりです。

  • セックス
  • 郵便番号

以下は、ユーザーからこれを受け取る方法の例です。

  • 30男性90250
  • 30 / M / 90250
  • 30 M 90250
  • M 30 90250
  • 30-M-90250
  • 90250、M、30

explode関数から始めましたが、ユーザーが情報をどのように分離したか(スペース、コンマ、スラッシュ、ハイフン)を確認するために、ifelseステートメントの膨大なリストが残されました。

フィードバックをいただければ幸いです。

ありがとう

4

2 に答える 2

2

とても簡単です。郵便番号は常に5桁であるため、単純な正規表現の照合/\d{5}/で問題なく機能します。年齢は1から3桁の数字なので、/\d{1,3}/気を付けてください。f性別については、 forを探すだけで、femaleない場合は仮定しmaleます。

とはいえ、個別の入力フィールドの何が問題になっていますか?

于 2012-06-30T02:28:19.590 に答える
2

いくつかの正規表現を使用することをお勧めします。

  • 5桁の数字を探すもの:[^\d]\d{5}[^\d]
  • 2桁の数字を探すもの:[^\d]\d{2}[^\d]
  • 1文字を探すもの: [a-zA-Z]

[編集]

正規表現を編集しました。これらは、提示されたすべての選択肢と一致するようになり、入力文字列を変更する必要がなくなりました(これにより、より効率的な選択になります)。また、任意の順序で実行できます。

于 2012-06-30T02:29:31.253 に答える