【发布时间】:2009-10-18 11:23:22
【问题描述】:
我的字符串 = '14| "预处理器帧数不递增;卡:主板,端口:2"|minor'
所以我有 3 个元素(id、message 和 level)除以管道(“|”)。我想获取每个元素,所以我写了这些小函数:
def get_msg(i):
x = i.split("|")
return x[1].strip().replace('"','')
def get_level(i):
x = i.split("|")
return x[2].strip()
#testing
print get_msg(mystring ) # Missing Input PID, PID: 20 : Port 4 of a static component
print get_level(mystring )# major
现在效果很好,但我觉得这不是pythonic的解决方法,这两个功能如何改进?正则表达式在这里感觉很合适,但我很天真所以无法应用。
【问题讨论】:
-
实际上,拆分可能是解决此问题的好方法。正则表达式可能会矫枉过正。您可能只是将 " 作为要剥离() 的字符之一,而不是使用 replace()。