파이썬 문자열 수정 아이피 마지막 부분 지우기

조회수 994회

ip주소를 추출해서 123.456.789.555 가 나왔을때 555부분만 지우고 싶은데 555가 두자리가 될 수도 있고 세자리가 될 수도 있는데다 고정된 숫자도 아니라서 어떻게 처리해야할지 모르겠습니다

  • 우연히 지나가다 남깁니다. '123.456.789.555' 라는 문자열 형식으로 만들어준 다음에 if 문 걸어서 len(ip) ==15: 알 수 없는 사용자 2020.4.1 06:04
  • 답변 감사합니다 그런데 ip주소가 마지막자리가 3자리여도 맨 첫번째 자리수가 2자리라 길이가 14가 될때가 있어서 사용하기 힘들거같네요 알 수 없는 사용자 2020.4.1 13:41

3 답변

  • ip= "123.456.789.555"
    print('.'.join(ip.split('.')[:-1])) # 123.456.789
    

    문자를 .으로 분리하고 마지막 부분 빼면 됩니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자
  • ip= "123.456.789.555"
    추출된ip=""
    if len(ip) == 15:
        추출된ip += ip[:-3]
    elif len(ip) ==14:
        추출된ip +=ip[:-2]
    추출된ip  
    
    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 답변 감사합니다 그런데 ip주소가 마지막자리가 3자리여도 맨 첫번째 자리수가 2자리라 길이가 14가 될때가 있어서 사용하기 힘들거같네요 알 수 없는 사용자 2020.4.1 13:40
  • 뒤에서부터 .을 찾아 그위치를 알아내고, 그 위치까지 문자열을 자르는 방법입니다. 문자열이 .을 포함하지 않을 때에는 rindex에서 예외가 발생됩니다.

    ip = '1.1.1.1'
    마지막점위치 = ip.rindex('.')
    ip3 = ip[:마지막점위치]
    print(ip3, ip)
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)