MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

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


  • Prev by Date: Re: partitioning a string
  • Next by Date: Re: Partition(divid string to substring
  • Previous by thread: Re: Partition(divid string to substring
  • Next by thread: Re: Partition(divid string to substring