假设我们有一个字符串a
。
a
的一部分看起来像ac5:9qr$28c#
。
这种模式(value1:value2 $ value3#)重复。
现在,我的问题是:我如何查找这些值并将其提取出来?
注意:这些字符串部分不一定是特殊字符。
答案 0 :(得分:1)
re.findall
适用于此问题。
试试这个:
import re
data = 'abc:def$ghi#ac5:9qr$28c#1234:4567$89#'
result = re.findall(r'(.*?):(.*?)\$(.*?)#', data)
print result
结果:
[('abc', 'def', 'ghi'), ('ac5', '9qr', '28c'), ('1234', '4567', '89')]
答案 1 :(得分:0)
这样的事情应该做:
a = "ac5:9qr$28c#"
values = []
delimiters = [':','$','#']
while len(a) > 0:
for delimiter in delimiters:
delimiterIndex = a.index(delimiter )
newValue = a[0:delimiterIndex]
values.append(newValue)
a = a[delimiterIndex+1:]
print values
输出是:
['ac5', '9qr', '28c']
当然,你可以实现类似的东西来保留原来的' a'字符串。