python - 在 re.split 中使用管道会导致发生额外的拆分

标签 python regex

我试图用 |INDEX|/ 分割字符串。

re.split 可以处理多个分隔符,并使用管道来分隔每个分隔符,因此需要对它们进行转义。

我尝试分离:

a = 'Tokenized/0003036v1|INDEX|3847.story.json'
re.split( r"/|\|INDEX|\|"  , a)

但是,这导致了额外的空分割:

['Tokenized', '0003036v1', '', '3847.story.json']

为什么列表中有 4 个项目,而不是 3 个,其中有一个空项目?

最佳答案

您的正则表达式中有一个错误,在 |INDEX| 的结束 \| 之前有一个额外的 |,因此该字符串是在 |INDEX| 上拆分,导致它们之间出现空字符串。将正则表达式更改为:

re.split( r"/|\|INDEX\|"  , a)

关于python - 在 re.split 中使用管道会导致发生额外的拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58254139/

相关文章:

python - 在 Django 中,我可以排除 ModelForm 子类中的字段吗?

python - 处理后的照片如何删除?

python - 有可能删除元素的循环

javascript - 在 JavaScript 中使用 RegEx 解析 CSS 字符串

regex - 前瞻行为

python - 如何将向量分离为基向量?

python - 在 Python 中使用 beautifulsoup 从网站中提取数字

regex - 在特定条件下用破折号替换新行

regex - 条形码的正则表达式(12 或 14 位)

python - 如何重命名将使用以下程序下载的 .wav 文件?