を含む文字列と抽出サブストリングの配列から求める値Iはname (some title), address (may contain commas)
PHP - その値
例からなる文字列から名前を抽出したい:
John Doe PhD., 25 Oak Rd, Ridgeville, WA, USA
Peter Smith PhD. and Hannah Smith, 55 Riverside Ave, Alice Springs, NT, Australia
John Miles, BA, PhD., 152 Rain Rd, Copper Mines, Canada
Cool Company, Inc., 152 Great Rd, NZ
は、これらの線の各々が格納されていると言います変数$string
にあります。
予想される出力:私は何
John Doe PhD.
Peter Smith PhD. and Hannah Smith
John Miles, BA, PhD.
Cool Company, Inc.
- 私はタイトル
$titles = array("PhD.", "MA", "MSc", "BA", "Inc.");
の配列を用意し、$titles
のいずれかのために$string
を検索したいです。
問題は、文字列の最後のタイトルを検索する必要があります(逆方向検索のようなものです)。そのタイトルを含む部分文字列(文字列の先頭からすべて)を抽出する必要があります。次のカンマ(2行目 - カップル参照)まで終わるので、私は全体の名前(カップルの場合は名前)を持っています。
これらの文字列に対して期待される出力を共有できますか? –
それぞれの文字列を '、'で分割して配列にすることができます。次に配列をループして、サブ文字列内のタイトルを見つけることができるかどうかを確認します。見つかった場合は、同じ文字列を取得します。しかし、これらの文字列を大量に取得すると、パフォーマンス上の問題になります。 –
@Sameer KIは既にこれを行っていますが、最後のタイトルを簡単に見つけることができないため、ソリューションを提供しません。名前にカンマを入れることができるので、 '、'で分割すると解が得られません。 –