mystring = '14 | "전처리 기 프레임 수가 증가하지 않음 카드 : 마더 보드, 포트 : 2"| minor "문자열 필터링/조작을 더 효과적으로 수행
그래서 세 개의 요소 (ID, 메시지 및 레벨)를 파이프 ("| ")로 나눈 값이 있습니다. 나는이 작은 기능 쓴 있도록 각 요소를 얻으려면 : 그것은 잘 작동 지금
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
을하지만 난이 그것을 해결하기 위해 파이썬 방법은이 두 기능을 향상시킬 수 수 있는지,없는 것 같은 느낌? 정규 표현식은 여기에 맞는 것처럼 느껴지지만 그다지 순진하지 않아 적용 할 수 없습니다.
실제로 분할은 아마도이 문제를 해결하는 좋은 방법 일 것입니다. 정규 표현식은 과잉 공격 일 가능성이 높습니다. 당신은 replace()를 사용하는 대신 strip()의 문자 중 하나로 넣을 수도 있습니다. – Amber