[python] Deleni retezce
Martin Jedlička
jedlicka na poll.cz
Středa Září 6 07:54:15 CEST 2006
to je presne ono, diky moc.
Martin
Stefan Oravec napsal(a):
> ako som to ja pochopil tak domotal :D
>
> def foo(text, treshold):
> result = []
> buff = []
> for word in text.split():
> if len(' '.join(buff + [word])) > treshold:
> result.append(' '.join(buff))
> buff = [word]
> else:
> buff.append(word)
> result.append(' '.join(buff))
> return result
>
> if __name__ == '__main__':
> text = '''foo bar
> johoho'''
> print text.split()
> print foo(text, 10)
> print foo(text, 5)
>
> S.
>
> Quoting Petr Vaněk <petr na scribus.info>:
>
>
>> Dne úterý 05 září 2006 14:39 Martin Jedlička napsal(a):
>>
>>> Zdravim, mel bych takovy dotaz. Potreboval bych vedet, jak dlouhy
>>> retezec rozdelim na mensi (vlozim enter misto mezery, pokud je retezec
>>> delsi jak nejaka delka). Mam proste dlouhy string a potreboval bych ho
>>> rozdelit na na vice stringu oddelene entrem. Enter vkladat vzdy, kdy je
>>> retezec napr. delsi nez 100 znaku. Zacal jsem tak, ze spocitam pocet
>>> slov a znaku retezce, ale nevim, jak dal (jak spravne vkladat ty entery).
>>>
>>>>> s = '''foo bar
>>>>>
>> ... jambadadam'''
>>
>>>>> s
>>>>>
>> 'foo bar\njambadadam'
>>
>>>>> l = s.split()
>>>>> l
>>>>>
>> ['foo', 'bar', 'jambadadam']
>>
>>>>> n = '\n'.join(l)
>>>>> n
>>>>>
>> 'foo\nbar\njambadadam'
>>
>>>>> print n
>>>>>
>> foo
>> bar
>> jambadadam
>>
>> pokud vyzadujes, aby se pred tim zkontrolovala delka reteze, pak
>> if len(s) > 100:
>> l = s.split()
>>
>> ale mozna jsem se domotal v zadani ;)
>>
>> neni treba dekovat, mam rad bilou cokoladu...
>> p.
>>
>>
>
>
>
> --
> application/x-person
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
Další informace o konferenci Python