Веб-надстройка для Outlook не может прочитать свойство 'Version' из null в outlook-web-16.01.js

Мой ответ не будет использовать регулярное выражение.

Я думаю, что должен работать простой сканер символов с состоянием «in_actor_name». Помните, что состояние «in_actor_name» заканчивается либо «)», либо запятой в этом состоянии.

Моя попытка:

s = 'Wilbur Smith (Billy, son of John), Eddie Murphy (John), Elvis Presley, Jane Doe (Jane Doe)'

in_actor_name = 1
role = ''
name = ''
for c in s:
    if c == ')' or (c == ',' and in_actor_name):
        in_actor_name = 1
        name = name.strip()
        if name:
            print "%s: %s" % (name, role)
        name = ''
        role = ''
    elif c == '(':
        in_actor_name = 0
    else:
        if in_actor_name:
            name += c
        else:
            role += c
if name:
    print "%s: %s" % (name, role)

Выход:

Wilbur Smith: Billy, son of John
Eddie Murphy: John
Elvis Presley: 
Jane Doe: Jane Doe
2
задан Tao Zhou 19 March 2019 в 09:28
поделиться

0 ответов