>백엔드 개발 >파이썬 튜토리얼 >Python 문자열 슬라이싱의 일반적인 방법은 무엇입니까?

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

WBOY
WBOY앞으로
2023-04-18 18:40:038060검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제