我需要分割一个关于学位的字符串(MSC、BSc...),并将姓名和标题保留在第 0 列中,将地址保留在第 1 列中。注意末尾的国家/地区代码BS
与标题匹配
请在下面找到一些示例数据:
Phillipp Shuster MSc Grolmanstraße 6 28195 Bremen Bahnhofsvorstadt DE
Eric Jager BSc Mohrenstrasse 29 72362 Nusplingen DE
Nykee Peters BS Taylor Street, Duncan Town BS
我想完成如下:
Phillipp Shuster MSc | Grolmanstraße 6 28195 Bremen Bahnhofsvorstadt DE
Eric Jager BSc | Mohrenstrasse 29 72362 Nusplingen DE
Nykee Peters BS | Taylor Street, Duncan Town BS
我尝试过此操作,但这会将标题添加到地址中(不正确)。
splitted=re.split("\s(?=(?:msc|bsc|bs)[^$])",participants, flags=re.IGNORECASE)
Phillipp Shuster | Msc Grolmanstraße 6 28195 Bremen Bahnhofsvorstadt DE
Eric Jager | BSc Mohrenstrasse 29 72362 Nusplingen DE
Nykee Peters | BS Taylor Street, Duncan Town BS
最佳答案
您可以使用这个伙伴
(?<=\bmsc)|(?<=\bbsc)|(?<=\bbs)\s
-
(?<=\bmsc)
- 火柴msc
. -
(?<=\bbsc)
- 火柴bsc
. -
(?<=\bbs)
- 火柴bs
. -
\s
- 匹配空格。
关于python - 使用正则表达式分割字符串并包含模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53795450/