기본으로 돌아가기: Python의 더 많은 문자열

| View Solution on GitHub |


(이미지: HowtoGeek.com)

지난 주 우리implemented a blockchain 는 상당히 집중적이어서 이번 주에는 간단한 문자열 문제로 휴식을 주기로 했습니다. 좋은 습관이죠? 한 번 보자.

# Write a method to replace all spaces in a string with '%20'. 
# Ignore any additional white space at the beginning or end of the string.

인터넷에 접속해 본 적이 있다면 URL에 공백이 없다는 것을 눈치채셨을 것입니다. 브라우저에 URL을 입력하고 공백을 포함하려고 하면 이스케이프 문자 '%20'으로 변환되는 것을 볼 수 있습니다. Chrome에서 "http://google.com//"를 입력하면 "http://google.com/%20/ "로 변환되는 것을 볼 수 있습니다. 해당 페이지가 아무데나 가는 것은 아니지만 요점을 알 수 있습니다.

이 챌린지에서는 브라우저가 방금 수행한 작업을 수행하는 메서드를 작성할 것입니다. 즉, url을 문자열로 가져오고 공백이 '%20'으로 대체된 인코딩된 형식을 반환합니다. 문자열 s 을 받는 메서드를 정의하는 것으로 시작하겠습니다.

def urlify(s):
    pass

다음으로 작은 글씨를 살펴보겠습니다. 문자열의 처음이나 끝에 있는 추가 공백은 무시하십시오. Pythonstrip() 메서드를 사용하여 문자열에서 선행 또는 후행 공백을 제거하여 이 문제를 즉시 처리해 보겠습니다.

def urlify(s):
    s = s.strip()

이러한 공간을 다루는 방법에 대해 생각해 봅시다. 문자열을 반복하면서 각 문자를 살펴보고 공백인지 확인하고 공백이면 교체할 수 있습니다. 그러나 더 쉬운 방법이 있습니다. Python에는 주어진 문자를 기반으로 문자열을 분할하는 몇 가지 내장 메서드가 있습니다. 그런 다음 공백을 "%20"으로 대체하여 다시 결합할 수 있습니다.
split() 메서드를 호출하여 시작합니다. .strip() 다음에 이것을 호출할 수 있습니다. 이 메서드는 하나의 인수인 구분자 문자를 사용합니다. 우리의 경우 단일 공백인 ""입니다.

def urlify(s):
  s = s.strip().split(" ")

이렇게 하면 문자열 목록이 제공됩니다. 예를 들어 문자열이 "Hello my name is Erik"인 경우 이제s는 ["Hello", "my", "name", "is", "Erik"]을 포함하는 목록입니다.

이제 목록 항목을 결합하기만 하면 됩니다. .join() 메서드는 약간 이상합니다. 단어 사이에 삽입하려는 문자열에서 호출하고 목록을 인수로 전달합니다. 따라서 대체 문자열이 "%20"인 경우 그 뒤에 .join() 를 호출하고(저는 괄호로 묶었습니다) 이제 목록인 s 를 전달합니다. 이 변수를 s 로 재정의할 수 있지만 그냥 반환하겠습니다.

def urlify(s):
  s = s.strip().split(" ")
  return ("%20").join(s)

그리고 그게 다야! 요약하자면:
  • 공백을 제거합니다.
  • 공백 문자에서 분할합니다.
  • 각 항목 사이에 "%20"을 사용하여 연결합니다.

  • 그것을 밖으로 테스트


    urlify 메서드에 공백이 포함된 문자열을 전달합니다. URL 이스케이프 문자로 대체된 공백이 있는 문자열을 반환해야 합니다.

    print(urlify("My name is Erik "))
    # -> My%20name%20is%20Erik
    

    이것이 이번 주입니다. 바라건대 우리는 모든 연결된 목록 후에 당신의 두뇌에 휴식을 주었습니다. 너무 오래 잊지 마세요. 다음 주에 이진 트리 병합 정렬을 다루게 될 것입니다. 그때 만나!

    | View Solution on GitHub |

    Sheamus Heikkila는 이전에 시애틀 총회에서 조교로 일했습니다. 이 블로그는 GA와 관련이 없습니다.

    좋은 웹페이지 즐겨찾기