[python] 문자열의 처음 100 자 출력

파이썬에서 부분 문자열 함수를 찾을 수 있습니다.

문자열의 처음 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()사용할 수 있습니다. 다음은 둘 다에 대한 문서 입니다.