2014-06-23 2 views
-2

Outlook의 특정 폴더에서 메시지를 가져온 다음 전자 메일에서 특정 부분을 추출하는 프로그램을 만들려고합니다.Python (Regex)을 사용하여 전자 메일의 특정 부분 압축 풀기

이메일의 형식은 : 친애하는 Mr.X,

{텍스트의 라인} 아래를 참조하십시오.

클라이언트 : 회사 X

기금 : ABCD

크기 :

감사합니다, 샘

내가 지금까지 가지고있는 코드는 다음과 같습니다

import win32com.client 
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI") 
inbox = outlook.GetDefaultFolder(4) 
messages = inbox.Items 
message = messages.GetLast() 
body_content = message.body 

수있는 사람 regex를 사용하여 코드를 추출하여 모든 부분을 추출하십시오. 고객 : CompanyX 등과 같이 ":"다음에 나오는 이메일의 정보?

+2

에 오신 것을 환영합니다! 우리가 당신을 위해 몇 가지 코드를 작성하기를 원하는 것처럼 보입니다. 대부분의 사용자는 곤경에 처한 코더 코드를 기꺼이 만들지 만 일반적으로 포스터가 이미 문제를 해결하려고 시도했을 때만 도움이됩니다. 이러한 노력을 입증하는 좋은 방법은 지금까지 작성한 코드, 예제 입력 (있는 경우), 예상 출력 및 실제로 얻은 출력 (콘솔 출력, 스택 추적, 컴파일러 오류 등)을 포함시키는 것입니다. 응용할 수 있는). [FAQ] (http://stackoverflow.com/about) 및 [How to Ask] (http://stackoverflow.com/questions/how-to-ask)를 확인하십시오. –

+0

Ruben과 같은 텍스트 스 니펫을 찾을 수있는 곳 ? –

+0

@ChristianBerendt는 내가 이걸 가지고있는 곳을 기억하지 않지만 원한다면 복사 할 수 있습니다. –

답변

0

당신은 :regex 단지 split() 텍스트를 필요로하고 마지막 요소하지 않습니다 스택 오버플로

In [5]: s = "Client: Company X" 

In [6]: print s.split(":")[-1] 
Company X 
In [7]: s = "Fund: ABCD" 

In [8]: print s.split(":")[-1] 
ABCD 
+0

나는 이메일을 가려 내고 "Client :", "Fund :"등등을 찾는 프로그램이 필요하다. ":" – user3753831

+0

루프 다음에 오는 것을 인쇄하고,'str.startswith' 메소드를 사용하여 Client :, Fund : 등으로 시작하는 라인을 찾으십시오. 그런 다음 split을 사용하여 정보를 얻으십시오. https://docs.python.org/2/library/stdtypes.html # str.startswith –

관련 문제