복붙노트

[PYTHON] 문자열을 부분 문자열로 변환하는 방법이 있습니까?

PYTHON

문자열을 부분 문자열로 변환하는 방법이 있습니까?

파이썬에서 문자열을 부분 문자열로 변환하여 문자열의 끝에서 3 번째 문자까지 새로운 문자열을 얻는 방법이 있습니까?

아마 myString [2 : end]과 같은가요?

두 번째 부분을 떠나는 것이 '끝까지'를 의미하는 경우 첫 번째 부분을 떠나면 처음부터 시작합니까?

해결법

  1. ==============================

    1.

    >>> x = "Hello World!"
    >>> x[2:]
    'llo World!'
    >>> x[:2]
    'He'
    >>> x[:-2]
    'Hello Worl'
    >>> x[-2:]
    'd!'
    >>> x[2:-2]
    'llo Worl'
    

    파이썬은이 개념을 "슬라이싱 (slicing)"이라고 부르며 단순한 문자열 이상에서 작동합니다. 여기에서 포괄적 인 소개를보십시오.

  2. ==============================

    2.다른 사람이 언급하지 않았으니 완전성을 위해서. 배열 슬라이스의 세 번째 매개 변수는 단계입니다. 따라서 문자열을 뒤집는 것은 다음과 같이 간단합니다.

    다른 사람이 언급하지 않았으니 완전성을 위해서. 배열 슬라이스의 세 번째 매개 변수는 단계입니다. 따라서 문자열을 뒤집는 것은 다음과 같이 간단합니다.

    some_string[::-1]
    

    또는 대체 문자를 선택하는 방법은 다음과 같습니다.

    "H-e-l-l-o- -W-o-r-l-d"[::2] # outputs "Hello World"
    

    문자열을 앞뒤로 이동하는 기능은 슬라이스를 시작 또는 끝에서 배열 할 수있는 일관성을 유지합니다.

  3. ==============================

    3.Substr ()은 PHP와 Perl이 정상적으로 작동합니다.

    Substr ()은 PHP와 Perl이 정상적으로 작동합니다.

    s = Substr(s, beginning, LENGTH)
    

    그래서 매개 변수는 시작과 길이입니다.

    그러나 파이썬의 동작은 다릅니다. END (!) 다음에 시작과 끝을 예상합니다. 이것은 초보자가 쉽게 발견 할 수 없습니다. 따라서 Substr (s, beginning, LENGTH)의 올바른 대체는 다음과 같습니다.

    s = s[ beginning : beginning + LENGTH]
    
  4. ==============================

    4.이것을 달성하는 일반적인 방법은 String slicing입니다. MyString [a : b]는 인덱스 a에서 (b - 1)까지 하위 문자열을 제공합니다.

    이것을 달성하는 일반적인 방법은 String slicing입니다. MyString [a : b]는 인덱스 a에서 (b - 1)까지 하위 문자열을 제공합니다.

  5. ==============================

    5.전체 (얕은) 사본 : 여기서 한 가지 예가 누락 된 것 같습니다.

    전체 (얕은) 사본 : 여기서 한 가지 예가 누락 된 것 같습니다.

    >>> x = "Hello World!"
    >>> x
    'Hello World!'
    >>> x[:]
    'Hello World!'
    >>> x==x[:]
    True
    >>> 
    

    이것은 연속 된 유형의 사본을 만드는 일반적인 관용구입니다 (인턴 된 문자열이 아닌). [:] Shallow는 목록을 복사합니다. python-list-slice-used-for-no-obvious-reason을보세요.

  6. ==============================

    6.예, 이름을 끝내거나 상수 싱글 톤에 할당하거나 바인딩하면 실제로 작동합니다. 없음 :

    예, 이름을 끝내거나 상수 싱글 톤에 할당하거나 바인딩하면 실제로 작동합니다. 없음 :

    >>> end = None
    >>> myString = '1234567890'
    >>> myString[2:end]
    '34567890'
    

    슬라이스 표기법에는 3 가지 중요한 인수가 있습니다.

    주어진 기본값이 없으면 None이지만 명시 적으로 전달할 수 있습니다.

    >>> stop = step = None
    >>> start = 2
    >>> myString[start:stop:step]
    '34567890'
    

    네, 예를 들면 :

    >>> start = None
    >>> stop = 2
    >>> myString[start:stop:step]
    '12'
    

    우리는 슬라이스에 start를 포함 시키지만, 우리는 멈추지 만 멈추지 않는다.

    step이 None이면 기본적으로 슬라이스는 단계에 1을 사용합니다. 음의 정수로 단계를 밟으면 파이썬은 처음부터 끝까지 똑똑하다.

    >>> myString[::-1]
    '0987654321'
    

    슬라이스 표기법 설명 질문에 대한 답변에서 슬라이스 표기법을 아주 자세하게 설명합니다.

  7. ==============================

    7.당신은 "끝"을 제외하고 바로 그것을 가지고 있습니다. 슬라이스 표기법이라고합니다. 귀하의 예제를 읽어야합니다 :

    당신은 "끝"을 제외하고 바로 그것을 가지고 있습니다. 슬라이스 표기법이라고합니다. 귀하의 예제를 읽어야합니다 :

    new_sub_string = myString[2:]
    

    두 번째 매개 변수를 생략하면 암시 적으로 문자열의 끝입니다.

  8. ==============================

    8.토론에 두 가지 요점을 추가하고자합니다.

    토론에 두 가지 요점을 추가하고자합니다.

  9. ==============================

    9.어쩌면 나는 그것을 놓쳤지 만, 변수가 더 이상 여기서 논의되지 않기 때문에이 질문에 대한 완전한 답을 찾을 수 없었다. 그래서 나는 수색을해야했다.

    어쩌면 나는 그것을 놓쳤지 만, 변수가 더 이상 여기서 논의되지 않기 때문에이 질문에 대한 완전한 답을 찾을 수 없었다. 그래서 나는 수색을해야했다.

    아직 코멘트 할 수 없으므로 여기에 내 결론을 추가하겠습니다. 이 페이지에 액세스 할 때 관심이있는 유일한 사람이 아니라고 확신합니다.

     >>>myString = 'Hello World'
     >>>end = 5
    
     >>>myString[2:end]
     'llo'
    

    첫 번째 부분을 떠나면

     >>>myString[:end]
     'Hello' 
    

    그리고 중간에 다음과 같이 남겨 두었다면 가장 간단한 부분 문자열을 얻습니다.이 부분 문자열은 5 번째 문자입니다 (0부터 시작하므로이 경우에는 공백 임).

     >>>myString[end]
     ' '
    
  10. ==============================

    10.그것은 매우 간단합니다.

    그것은 매우 간단합니다.

    s = 'Hello, World!'
    print(s[:]) # prints "Hello, World!"
    print(s[:5]) # prints Hello
    print(s[5:]) # prints , World!
    print(s[3:7]) # prints "lo, "
    
  11. ==============================

    11.하드 코드 된 인덱스를 사용하면 혼란 스러울 수 있습니다.

    하드 코드 된 인덱스를 사용하면 혼란 스러울 수 있습니다.

    이를 피하기 위해 Python은 내장 객체 slice ()를 제공합니다.

    string = "my company has 1000$ on profit, but I lost 500$ gambling."
    

    얼마나 많은 돈이 남아 있는지 알고 싶다면

    일반적인 해결책 :

    final = int(string[15:19]) - int(string[43:46])
    print(final)
    >>>500
    

    조각 사용 :

    EARNINGS = slice(15, 19)
    LOSSES = slice(43, 46)
    final = int(string[EARNINGS]) - int(string[LOSSES])
    print(final)
    >>>500
    

    슬라이스를 사용하면 가독성이 높아집니다.

  12. from https://stackoverflow.com/questions/663171/is-there-a-way-to-substring-a-string by cc-by-sa and MIT license