Python 2.7:如何从特殊字符之间提取

时间:2018-07-30 14:10:45

标签: python string extract

我有一个像这样的字符串:

'|||stuff||things|||others||||'

有没有一种简单的方法可以提取|之间的所有内容。字符,因此最终结果将类似于:

result = ['stuff', 'things', 'others']

edit:我不会事先知道字符串的内容,因为我不知道专门查找“东西”,“事物”或“其他”,我只是知道|之间是什么。字符需要另存为自己的字符串

2 个答案:

答案 0 :(得分:2)

[i for i in string.split('|') if i!='']

这应该有效

答案 1 :(得分:1)

|分割一个或多个re.split

re.split(r'\|+', str_)

这将在开头和结尾给出空字符串,要摆脱这些字符串,请使用列表推导仅获取 truthy 的字符串:

[i for i in re.split(r'\|+', str_) if i]

示例:

In [193]: str_ = '|||stuff||things|||others||||'

In [194]: re.split(r'\|+', str_)
Out[194]: ['', 'stuff', 'things', 'others', '']

In [195]: [i for i in re.split(r'\|+', str_) if i]
Out[195]: ['stuff', 'things', 'others']