名前と学位を含む文字列を解析しようとしています。これらの長いリストがあります。学位を含まないもの、学位を含むもの、複数を含むものがあります。
文字列の例:
Sam da Man J.D.
Green Eggs Jr. Ed.M.
Argle Bargle Sr. MA
Cersei Lannister M.A. Ph.D.
私が知る限り、度は次のパターンで来ます。
x.x.
x.x.x.
x.x.xx.
x.xx.
xx.x.
x.xxx.
two caps (ex: 'MA')
これをどのように解析しますか?
私は正規表現に不慣れで、この問題を分解するには非常に時間がかかることがわかりました。私はこの投稿を使用して試しsplit = re.split('\s+|([.])',s)
てみましsplit = re.split('\s+|\.',s)
たが、これらはまだ最初のスペースで分割されています。
最初のコメントに応えて、学位の指定について考えました。「xx」を認識し、その後ワイルドカードを認識する正規表現を作成しようとしました。これは、xx(何か): xxxxxxxxx.
そして、分類するものがさらにいくつかあります。
または、名前を分類する方が簡単でしょうか?
または、コレクション内の学位を一覧表示して検索することもできますか?
{'M.A.T.','Ph.D.','MA','J.D.','Ed.M.', 'M.A.', 'M.B.A.', 'Ed.S.', 'M.Div.', 'M.Ed.", 'RN', 'B.S.Ed.'}