파이썬에서 부분 문자열 함수를 찾을 수 있습니다.
문자열의 처음 100 개 문자를 출력하려면 어떻게해야합니까?
나는 또한 그것을 안전하게하고 싶다. 문자열이 50 자라면 실패해서는 안된다.
답변
print my_string[0:100]
답변
에서 파이썬 튜토리얼 :
디 제너 레이트 슬라이스 인덱스는 정상적으로 처리됩니다. 너무 큰 인덱스는 문자열 size로 대체되고, 하한보다 작은 상한은 빈 문자열을 반환합니다.
따라서 사용하는 것이 안전합니다 x[:100]
.
답변
쉬운:
print mystring[:100]
답변
Philipp의 우려에 답하기 위해 (주석에서), slicing은 유니 코드 문자열에서도 잘 작동합니다.
>>> greek=u"αβγδεζηθικλμνξοπρςστυφχψω"
>>> print len(greek)
25
>>> print greek[:10]
αβγδεζηθικ
위의 코드를 스크립트로 실행하려면이 줄을 맨 위에 놓으십시오.
# -*- coding: utf-8 -*-
편집기가 utf-8로 저장하지 않으면 올바른 인코딩으로 대체하십시오.
답변
배열의 슬라이싱은 [first:last+1]
.
내가 많이 사용하는 한 가지 트릭은 줄임표로 추가 정보를 표시하는 것입니다. 따라서 필드가 100 자이면 다음을 사용합니다.
if len(s) <= 100:
print s
else:
print "%s..."%(s[:97])
그리고 네, ()
이 경우 %
포맷팅 연산자 가 불필요 하다는 것을 압니다 . 그것은 제 스타일 일뿐입니다.
답변
이전 예제의 대부분은 문자열이 충분히 길지 않은 경우 예외를 발생시킵니다.
또 다른 접근 방식은
'yourstring'.ljust(100)[:100].strip()
.
그러면 처음 100 개의 문자가 제공됩니다. 문자열 마지막 문자가 공백 인 경우 더 짧은 문자열을 얻을 수 있습니다.
답변
사용하는 문자열 형식화 %
는이를 처리하는 좋은 방법입니다. 여기 몇 가지 예가 있어요.
형식화 코드 '%s'
는 '12345'
문자열 로 변환 되지만 이미 문자열입니다.
>>> '%s' % '12345'
'12345'
'%.3s'
처음 세 문자 만 사용하도록 지정합니다.
>>> '%.3s' % '12345'
'123'
'%.7s'
처음 7 개 문자를 사용하라고하는데 5 개만 있습니다. 문제 없어요.
>>> '%.7s' % '12345'
'12345'
'%7s'
최대 7 개의 문자를 사용하여 누락 된 문자를 왼쪽에 공백으로 채 웁니다.
>>> '%7s' % '12345'
' 12345'
'%-7s'
오른쪽에 누락 된 문자를 채우는 것을 제외하고는 동일합니다.
>>> '%-7s' % '12345'
'12345 '
'%5.3'
처음 세 글자를 사용하되 왼쪽에 공백을 넣어 총 다섯 글자를 입력합니다.
>>> '%5.3s' % '12345'
' 123'
오른쪽 채우기를 제외하고는 동일합니다.
>>> '%-5.3s' % '12345'
'123 '
여러 인수도 처리 할 수 있습니다!
>>> 'do u no %-4.3sda%3.2s wae' % ('12345', 6789)
'do u no 123 da 67 wae'
더 많은 유연성이 필요한 경우에도 str.format()
사용할 수 있습니다. 다음은 둘 다에 대한 문서 입니다.
