Re: Partition(divid string to substring
- To: mathgroup at smc.vnet.net
- Subject: [mg60968] Re: Partition(divid string to substring
- From: Peter Pein <petsie at dordos.net>
- Date: Wed, 5 Oct 2005 02:28:14 -0400 (EDT)
- References: <dht4h7$hnr$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Sara schrieb: > I have to canstruct a method stringPartition[s,n] that divides a string s into substrings of length n. The last string shall be filled with spaces to the specified length.and I have too use StringTake. But i have done it Like that: > stringPartition[s_, n_] := Module[ > {}, > emptyString = Mod[StringLength[s], n]; > If[emptyString â� 0, empt = n - emptyString]; > str1 := " "; > str2 := ""; > For[i = 1, i â�� empt, i++, > str2 = str2 <> str1]; > str = s <> str2; > strCode = ToCharacterCode[str, "UTF8"]; > textPartition = Partition[strCode, n]; > textCode = FromCharacterCode[textPartition, "UTF8"] > ] > and its work, but I dont know how to use Stringtake instead (toCharacterCode), I dont want to use Toharachtercode. > Thanks > Hi Sara, I did only read your first posting before answering. You have to use StringTake? (Homework?) Well, append n-1 Spaces to your input string and divide: stringPartition[s_, n_] := StringTake[Nest[# <> " " &, s, n - 1], {n(# - 1) + 1, n #}] & /@ Range[Ceiling[StringLength[s]/n]] stringPartition["A string", 3]//InputForm --> {"A s", "tri", "ng "} Peter