목차
1. 슬라이싱
2. 일반적인 방법
2.1 검색
2.2 Modify
백엔드 개발 파이썬 튜토리얼 Python 문자열 슬라이싱의 일반적인 방법은 무엇입니까?

Python 문자열 슬라이싱의 일반적인 방법은 무엇입니까?

Apr 18, 2023 pm 06:40 PM
python

1. 슬라이싱

슬라이싱: 연산 객체의 일부를 가로채는 연산을 말합니다. 문자열, 리스트, 튜플 모두 슬라이싱 연산을 지원합니다.

구문: ​​순서 [시작 위치 첨자: 끝 위치 첨자: 단계 size]에는 끝 위치 첨자 데이터가 포함되지 않습니다. 단계 크기는 선택 간격이며 양수 또는 음수가 될 수 있습니다. 기본값은 1

예:

str = 'abcdefg_a'
print(str[1:6:2], str[2:6], str[:3], str[3:], str[:])
print(str[::2], str[:-2], str[-6:-2], str[::-2], str[::-1])
print(str[-2:], str[2:-2], str[-2::-2], str[:-2:2], str[2:-2:2])
 
输出:
bdf cdef abc defg_a abcdefg_a
acega abcdefg defg ageca a_gfedcba
_a cdefg _fdb aceg ceg
로그인 후 복사

2. 일반적인 방법

2.1 검색

문자열 찾기 :즉, 문자열에서 하위 문자열의 위치나 발생 횟수를 찾습니다

  • find():특정 문자열에 특정 문자열이 포함되어 있는지 감지하고, 존재한다면, 하위 문자열 첨자의 시작 위치를 반환하고, 그렇지 않으면 는 -1

  • 을 반환합니다. 구문: String 시퀀스.find(하위 문자열, 시작 위치 첨자, 끝 위치 첨자)

  • index(): 다음 여부 감지 특정 하위 문자열 특정 문자열에 포함되어 있으면 해당 하위 문자열의 시작 위치 첨자를 반환하고, 그렇지 않으면 예외 보고

    • 구문: String 시퀀스.index(하위 문자열, 시작 위치 첨자, 끝 위치 subscript)

  • rfind(): find()와 동일한 기능을 가지고 있지만 검색 방향이 오른쪽부터 시작 즉, 하위 문자열이 마지막으로 나타나는 위치를 반환합니다

  • rindex( ): 및 index() 함수는 동일하지만 검색 방향이 오른쪽부터 시작, 즉 하위 문자열이 마지막으로 발생한 위치를 반환합니다.

  • count(): a의 횟수를 반환합니다. 특정 하위 문자열이 문자열

에 나타납니다. 예:

str = 'abcdefg_a'
print('-------------------查找-------------------')
print(str.find('c'), str.find('fg', 2, ), str.find('a', 2), str.find('h'))
print(str.index('c'), str.index('fg', 2, ), str.index('a', 2))
print(str.find('a'), str.rfind('a'), str.index('a'), str.rindex('a'), str.count('a'))
print(str.index('h'))
 
输出:
-------------------查找-------------------
2 5 8 -1
2 5 8
0 8 0 8 2
ValueError: substring not found
로그인 후 복사

2.2 Modify

문자열 수정: 함수 form

  • replace()를 통해 문자열의 데이터를 수정합니다.

    구문: String 시퀀스.replace(이전 하위 문자열, 새 하위 문자열, 최대 대체 수)
    • split(): 지정된 문자에 따라 문자열을 분할합니다
  • 구문: 문자열 시퀀스.split(문자 분할, 분할 수) # 반환되는 데이터 수는 분할 수 + 1
    • join(): 문자열을 하나의 문자 또는 하위 문자열과 결합합니다. 즉, 여러 문자열을 새 문자열로 병합합니다
  • 구문 : 문자 또는 substring.join(여러 문자열로 구성된 시퀀스)
    • capitalize(): 문자열의 첫 번째 문자를 대문자로 변환합니다. 변환 후 첫 번째 문자만 대문자이고 나머지는 소문자입니다.
  • 구문: 문자열 시퀀스.capitalize()
    • title (): 문자열에 있는 각 단어의 첫 글자를 대문자로 변환
  • lower(): 문자열의 대문자를 소문자로 변환

  • upper(): 문자열의 소문자를 대문자

  • swapcase( ): 문자열의 대소문자를 뒤집습니다.

  • partition('separator'): 지정된 구분 기호에 따라 문자열을 분할하고 삼중항을 반환합니다. 왼쪽 하위 문자열, 구분 기호 및 오른쪽 하위 문자열로 구성

  • min(str): 문자열 str

  • max(str): 문자열 str

  • zfill( width): 지정된 길이의 문자열을 오른쪽 정렬하여 출력하며, 지정된 길이보다 작을 경우 앞에 0이 추가되어 그대로 출력됩니다.

  • lstrip(): 문자열 왼쪽의 공백 문자를 삭제합니다.

  • rstrip(): 문자열 오른쪽의 공백 문자를 삭제합니다.

  • strip(): 양쪽에서 공백 문자를 삭제합니다. 문자열의 측면

  • ljust(): 문자열은 왼쪽 정렬되고 지정된 문자(기본 공백)로 해당 길이에 패딩됩니다.

  • 구문: 문자열 시퀀스.ljust(길이, 패딩 문자)

    • rjust(): 문자열은 오른쪽 정렬되고 지정된 문자(기본 공백)로 해당 길이에 패딩됩니다.

  • 구문: string sequence.rjust(길이, 패딩 문자)

    • center() : 중앙에 정렬하고 지정된 문자(기본 공백)를 해당 길이에 맞게 채웁니다

  • 구문: 문자열 시퀀스.center(길이, 패딩 문자)

    • 예:
    print('--------------修改--------------')
    str1 = 'hello python and hello IT and hello world and hello YX !'
    print(str1.replace('and','&&'))
    print(str1.split('and'), str1.split('and', 2))
    l = ['Hello', 'world', '!']
    t = ('Hello', 'python', '!')
    print('_'.join(l), ' '.join(t))  # 用下划线_和空格连接
    print(str1.capitalize())  # 首字符转为大写,其余均小写
    print(str1.title())  # 每个单词首字母转为大写
    str2 = '   Hello World !   '
    print(str2.lower(), str2.upper(), str2.swapcase())  # 大写转小写,小写转大写,翻转大小写
    print(str2.partition('rl'), str2.partition('o'))  # 根据指定分隔符将字符串分割,返回三元元组
    print(min(str2), max(str2), ord(min(str2)), ord(max(str2)))  # str2中最小为空格对应十进制32,最大为r对应114
    print(str2.zfill(21))  # 输出指定长度为21的字符串,右对齐,不足前面补0,超出指定长度则原样输出
    print(str2.lstrip(), str2.rstrip(), str2.strip())  # 清除字符串左、右、两边空格字符
    str3 = 'hello!'
    print(str3.ljust(13, '*'), str3.rjust(13, '*'), str3.center(14, '*'))
     
    输出:
    --------------修改--------------
    hello python && hello IT && hello world && hello YX !
    ['hello python ', ' hello IT ', ' hello world ', ' hello YX !'] ['hello python ', ' hello IT ', ' hello world and hello YX !']
    Hello_world_! Hello python !
    Hello python and hello it and hello world and hello yx !
    Hello Python And Hello It And Hello World And Hello Yx !
       hello world !       HELLO WORLD !       hELLO wORLD !   
    ('   Hello Wo', 'rl', 'd !   ') ('   Hell', 'o', ' World !   ')
      r 32 114
    00   Hello World !  
    Hello World !       Hello World ! Hello World !
    hello!******* *******hello! ****hello!****
    로그인 후 복사
2.3 판단

startswith(): 문자열이 지정된 하위 문자열로 시작하는지 확인하고, 그렇다면 True를 반환하고, 그렇지 않으면 False를 반환하고, 시작 및 끝 위치 첨자를 설정하고, 지정된 범위 내에서 확인합니다.

  • 구문: 문자열 시퀀스.startswith(하위 문자열, 시작 위치 첨자, 끝 위치 첨자)

    • endswith(): 문자열이 지정된 하위 문자열로 끝나는지 확인하고 True를 반환하고, 그렇지 않으면 False를 반환하고 시작 및 끝 위치 첨자를 설정한 다음 확인합니다. 지정된 범위 내

  • 구문: 문자열 시퀀스.endswith(하위 문자열, 시작 위치 첨자, 끝 위치 첨자)

    • isalpha(): 문자열에 문자가 하나 이상 있고 모두 문자가 모두 있는 경우 문자이면 True를 반환하고, 그렇지 않으면 False를 반환합니다

  • isdigit(): 문자열에 숫자만 포함되어 있으면 True를 반환하고, 그렇지 않으면 False를 반환합니다

  • isalnum():若字符串至少有一个字符且所有字符都是字母或数字则返回True,否则返回False

  • isspace():若字符串只包含空格,则返回True,否则返回False

举例如下:

print('---------------判断----------------')
str3 = 'hello!'
print(str3.startswith('he'), str3.startswith('she'), str3.startswith('he',2,))
print(str3.endswith('!'), str3.endswith('。'), str3.endswith('!', 2, 5))
print(str3.isalpha(),str3.isalnum(), str3.isdigit(), str3.isspace())
 
输出:
---------------判断----------------
True False False
True False False
False False False False
로그인 후 복사

위 내용은 Python 문자열 슬라이싱의 일반적인 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Linux 시스템에서 Python 통역사를 삭제할 수 있습니까? Linux 시스템에서 Python 통역사를 삭제할 수 있습니까? Apr 02, 2025 am 07:00 AM

Linux 시스템과 함께 제공되는 Python 통역사를 제거하는 문제와 관련하여 많은 Linux 배포판이 설치 될 때 Python 통역사를 사전 설치하고 패키지 관리자를 사용하지 않습니다 ...

파이썬에서 맞춤형 데코레이터의 Pylance 유형 감지 문제를 해결하는 방법은 무엇입니까? 파이썬에서 맞춤형 데코레이터의 Pylance 유형 감지 문제를 해결하는 방법은 무엇입니까? Apr 02, 2025 am 06:42 AM

Pylance 유형 감지 문제 솔루션 Python 프로그래밍에서 사용자 정의 데코레이터를 사용할 때 Decorator는 행을 추가하는 데 사용할 수있는 강력한 도구입니다 ...

Python 3.6 피클 파일로드 오류 modulenotfounderRor : 피클 파일 '__builtin__'를로드하면 어떻게해야합니까? Python 3.6 피클 파일로드 오류 modulenotfounderRor : 피클 파일 '__builtin__'를로드하면 어떻게해야합니까? Apr 02, 2025 am 06:27 AM

Python 3.6에 피클 파일 로딩 3.6 환경 오류 : ModulenotFounderRor : nomodulename ...

Fastapi와 Aiohttp는 동일한 글로벌 이벤트 루프를 공유합니까? Fastapi와 Aiohttp는 동일한 글로벌 이벤트 루프를 공유합니까? Apr 02, 2025 am 06:12 AM

파이썬 비동기 라이브러리 사이의 호환성 문제 파이썬에서 비동기 프로그래밍은 동시성과 I/O의 프로세스가되었습니다 ...

Python 3.6에 피클 파일을로드 할 때 '__builtin__'모듈을 찾을 수없는 경우 어떻게해야합니까? Python 3.6에 피클 파일을로드 할 때 '__builtin__'모듈을 찾을 수없는 경우 어떻게해야합니까? Apr 02, 2025 am 07:12 AM

Python 3.6에 피클 파일로드 3.6 환경 보고서 오류 : modulenotfounderror : nomodulename ...

파이썬에서 신호를 통해 부모 프로세스를 죽인 후 아동 프로세스가 종료되도록하는 방법은 무엇입니까? 파이썬에서 신호를 통해 부모 프로세스를 죽인 후 아동 프로세스가 종료되도록하는 방법은 무엇입니까? Apr 02, 2025 am 06:39 AM

아동 프로세스의 문제와 해결책은 신호를 사용하여 부모 프로세스를 죽일 때 계속 실행됩니다. Python 프로그래밍에서 신호를 통해 부모 프로세스를 죽인 후에도 아동 프로세스는 여전히 ...

See all articles