2015-07-21 2 views
0

У меня есть файл имена отформатированных следующим образом:Регулярного выражения, чтобы соответствовать формату

Last, First Middle Initial 

В некоторых случаях человек не может иметь отчество

Last, First 

Я хотел бы использовать регулярный выражение для изменения порядка в

First Middle, Last name 

или

First, Last Name (when there is no middle initial) 

Может ли кто-нибудь помочь с выражениями, которые могут это сделать?

Как я могу настроить свои условные поля для этих случаев с помощью регулярного выражения? Я хочу настроить функцию if, если формат поля имени равен двум возможностям, он будет использовать соответствующее выражение для переупорядочения имени. Я использую клиент Spotfire для выполнения этого.

Спасибо!

ответ

2

Реализовать:

import re 
R = re.compile(r"(\w+),\s+(\w+)(\s*\w*)") 

def convert(s): 
    return R.sub(r"\2\3, \1", s) 

И тест:

assert convert("Last, First Middle") == "First Middle, Last" 
assert convert("Last, First") == "First, Last" 
Смежные вопросы