python - 使用正则表达式分割字符串并包含模式

标签 python regex

我需要分割一个关于学位的字符串(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 - 匹配空格。

Demo

关于python - 使用正则表达式分割字符串并包含模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53795450/

相关文章:

python - 如何在 if 语句中使用数据类型

python - 使用 Geopandas 时,模块 'shapely' 没有属性 'geometry'

python - 将 Xticks 频率设置为数据帧索引

php - 如何在 HTML 代码块中提取单行

php - 在 PHP 中用另一个符号替换反斜杠

java - 如何在最后一次出现下划线字符时将字符串拆分为 2

python - 我应该如何测试不返回任何内容的方法?

python - 检查python中的大列表是否已更改

regex - 拆分不起作用(Perl)

javascript - 如何转义nodejs中的字符?