나는 최대 80 자 긴 줄만 인쇄하고 싶지만 그보다 짧고 길 수있는 s
줄이있다. 그래서 으로 나눠서 단어를 분리하지 않고 싶습니다. 긴 문자열의Python에서 단어로 분할하지 않고 (잠재적으로) 긴 문자열을 분할하는 좋은 방법이 있습니까?
예 :
sub_str_left = 0
pos = 0
next_pos = s.find(" ", pos)
while next_pos > -1:
if next_pos - sub_str_left > 80:
print s[sub_str_left:pos-sub_str_left]
sub_str_left = pos + 1
pos = next_pos
next_pos = s.find(" ", pos)
print s[sub_str_left:]
:
words = s.split(" ")
line = ""
for w in words:
if len(line) + len(w) <= 80:
line += "%s " % w
else:
print line
line ="%s " % w
print line
가 마찬가지로 나는 잠시 루프에서 반복적으로 s.find(" ")
을 사용할 수 있습니다 :이 같은 일을하는 방법을 고안 할 수
s = "This is a long string that is holding more than 80 characters and thus should be split into several lines. That is if everything is working properly and nicely and all that. No mishaps no typos. No bugs. But I want the code too look good too. That's the problem!"
이들 중 아무 것도 매우 우아하지 않으므로, 저의 질문은 더 시원한 파이썬 적 방법 이? (아마도 정규식 정도.)
귀하의 질문에 내가 몇 일 전에 질문 질문과 유사이 파이썬 스크립트를 시도 할 수 있습니다. http://stackoverflow.com/questions/9894983/wrapping-a-text-file-so-that-each-line-contain-a-max-of-80-characters –
나는 이전 게시물을 검색하는 것을 놓쳤다. _wraping_에 관해 이야기하는 동안 _splitting_을 찾고있는 나를 생각해보십시오. 그렇지만 그들은 비슷합니다. – deinonychusaur
글쎄, 기술적으로 이것을 래핑이라고합니다. –