我需要在模式nr:或/ nr:之间提取所有这些字符串。有人可以帮帮我吗?
字符串是
nr:Organization/nr:Customer/nr:Agreement/nr:date/nr:coverage/nr:Premium/nr:Option/nr:OptionID
我期待的输出是
Organization, Customer, Agreement,...OptionID
答案 0 :(得分:1)
如果你想在不使用“re”模块的情况下这样做,它看起来会起作用:
test_string = 'nr:Organization/nr:Customer/nr:Agreement/nr:date/nr:coverage/nr:Premium/nr:Option/nr:OptionID'
columns = [f[3:] for f in test_string.split('/')]
print(columns)
答案 1 :(得分:0)
使用re
模块,split
字符串并过滤掉长度为0的匹配:
import re
test_string = "nr:Organization/nr:Customer/nr:Agreement/nr:date/nr:coverage/nr:Premium/nr:Option/nr:OptionID"
columns = [x for x in re.split("/{0,1}nr:",test_string) if len(x) > 0]
print(columns)
['Organization', 'Customer', 'Agreement', 'date', 'coverage', 'Premium', 'Option', 'OptionID']
我希望这会有所帮助。
答案 2 :(得分:0)
这是一种使用正则表达式和拆分的方法:
import re
string = 'nr:Organization/nr:Customer/nr:Agreement/nr:date/nr:coverage/nr:Premium/nr:Option/nr:OptionID'
x = filter(None, re.split('/*nr:', string))
print x
正则表达式在'/'之前(或不在)之前查找nr:
。由于re.split
函数会留下一些空元素,因此对它应用filter
将为您提供所需的输出。
另请参阅此处的操作:https://eval.in/656744