저는 IRC 봇을 쓰고 있고, 모든 스플릿을 사용하여 메시지를 파싱하고 있습니다. IRC를 '메시지'의 형식은 다음과 같습니다반복이있는 경우에도 문자 뒤의 모든 것을 가져옵니다. Python
message = data.split(':')[2]
이 GET의 모든 후 마지막 ':' 그러나 특히
:[email protected]/web/freenode/ip.***.***.***.*** PRIVMSG #Channel :Message body
메시지의 텍스트입니다 얻을 하나입니다 사용자가 IRC를 통해 링크를 전송, 다음 메시지는 다음과 같이 표시됩니다
:[email protected]/web/freenode/ip.***.***.***.*** PRIVMSG #Channel :http://web address.com/
나머지는 어떤을 그대로 만, 메시지의 'HTTP'섹션을 얻을 것입니다 코드 w 분할의 세 번째 섹션에서.
그래서 링크가 포함 된 메시지를 어떻게 파싱 할 수 있습니까?
한 가지 방법은 첫 번째 섹션의 아이폰에 얻을, 그것을 제거하는 것입니다 :
message = data[len(data.split(':')[1])+1:]
을하지만 더 나은 방법이 있어야한다는 느낌을 도울 수 없어요. 하나 있습니까?
이 또한 .rsplit()가 있지만 오른쪽에서부터 나뉩니다. – monkut
내가 찾고있는 것 – sdfgeoff