拆分字符串并将分隔符保留为拆分字符串块的一部分,而不是作为单独的列表元素

问题42

这是从Python 中衍生出来的,如何拆分字符串并保留分隔符?

rawByteString = b'\\!\x00\x00\x00\x00\x00\x00\\!\x00\x00\x00\x00\x00\x00'

如何使用 "\\!" 将此 rawByteString 拆分为多个部分 作为分隔符而不删除分隔符,所以我得到:

[b'\\!\x00\x00\x00\x00\x00\x00', b'\\!\x00\x00\x00\x00\x00\x00']

我不想使用,[b'\\!' + x for x in rawByteString.split(b'\\!')][1:]因为那会使用 string.split() 并且只是一种解决方法,这就是为什么这个问题被标记为“re”模块。

维克多·斯特里比尤夫

您可以使用

re.split(rb'(?!\A)(?=\\!)', rawByteString)
re.split(rb'(?!^)(?=\\!)', rawByteString)

请参阅示例正则表达式演示(字符串输入已更改,因为空字节不能是字符串的一部分)。

正则表达式详情

  • (?!^)/ (?!\A)/ (?<!^)-比字符串的开始位置等
  • (?=\\!) - 不紧跟反斜杠的位置 + !

笔记

  • 由于您使用字节字符串,因此b在定义模式字符串文字时需要前缀
  • r使字符串文字成为原始字符串文字,这样我们就不必双重转义反斜杠,并且可以\\用来匹配\字符串中的一个。

参见Python 演示

import re
rawByteString = b'\\!\x00\x00\x00\x00\x00\x00\\!\x00\x00\x00\x00\x00\x00'
print ( re.split(rb'(?!\A)(?=\\!)', rawByteString) )

输出:

[b'\\!\x00\x00\x00\x00\x00\x00', b'\\!\x00\x00\x00\x00\x00\x00']

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Java Regex在分隔符和保留分隔符之间拆分字符串

在shell中,用点分隔符分割字符串的一部分

替换字符串中以逗号分隔列表一部分的值。的PHP

如何拆分字符串并保留特定的分隔符?

Python re.split()将分隔符的部分保留为第一个字符串的一部分,而其他保留为第二个字符串的一部分,依此类推

在pandas DataFrame元素内拆分字符串,然后重新组合列表的一部分

在多个分隔符上拆分字符串,同时保留一个或多个分隔符

如何拆分camelCase字符串并检查每个拆分单词是否为数组的一部分?

当正则表达式的一部分要保留在后续的拆分字符串中时,如何用正则表达式拆分R中的字符串?

如何在基于分隔符的python中拆分字符串,其中分隔符是其中一个块的一部分?

如何拆分字符串并返回字符串的一部分

Python:拆分字符串并将带分隔符的令牌存储在列表中

jQuery-按符号拆分字符串并获取最后一部分

在C#中拆分并获取字符串的最后一部分

c# 使用另一个字符串作为分隔符拆分字符串并将分隔符作为拆分字符串的一部分包含在内

javascript拆分字符串并将分隔符保留为自己的数组值

拆分字符串并连接以删除字符串的一部分

迭代列表中的字符串元素并将该字符串的一部分附加到空列表中

如何在数据框中拆分字符串并将逗号作为分隔符

分隔符字符串拆分

重新拆分以将字符串分解为组件但保留分隔符

powershell - 嵌套 FORLOOPs 以拆分字符串并替换字符串的一部分并删除字符串后的所有内容

拆分字符串但保留 C 中的分隔符

使用多个分隔符拆分字符串并保留分隔符

如何拆分字符串但保留分隔符?

如何在分隔符和輸入到新列之間多次提取字符串的一部分 T-SQL

我將如何拆分 python 字符串並保留分隔符,但分隔符不是單獨的列表項?

使用 BigQuery SQL 查找字符串的一部分並在分隔符之間提取數據

拆分字符串並保留分隔符

TOP 榜单

热门标签

归档