Re: trimming a string
- To: mathgroup at smc.vnet.net
- Subject: [mg50868] Re: [mg50861] trimming a string
- From: "Wolf, Hartmut" <Hartmut.Wolf at t-systems.com>
- Date: Sat, 25 Sep 2004 01:55:06 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
>-----Original Message----- >From: Akos Beleznay [mailto:abeleznay at equitas-capital.com] To: mathgroup at smc.vnet.net >Sent: Friday, September 24, 2004 10:42 AM >To: mathgroup at smc.vnet.net >Subject: [mg50868] [mg50861] trimming a string > > >I would appreciate if somebody could show me a simple way of trimming a >string. (I did it a hard way, but suspect an elegant solution.) > >Trim(a_string): returns a copy of a string without leading and trailing >spaces. > [...] > >Akos Beleznay [...] Aknos, I don't your solution, but here is another one, striktly unelegant: In[80]:= trimString[str_] := Module[{s, t, u}, t = Transpose[StringPosition[str, " "]][[1]]; s = t - Join[{0}, Drop[t, -1] + 1]; u = #[[{1, -1}, 2]] & /@ Split[Transpose[{s, t}], First[#2] == 0 &]; Fold[StringDrop, str, Reverse@Cases[u, {1, _} | {_, StringLength[str]}]]] In[81]:= ss = "In the beginning there was no earth or sky"; In[82]:= ss === trimString[ss] Out[82]= True In[83]:= ss === trimString[StringJoin[" ", ss]] Out[83]= True In[84]:= ss === trimString[StringJoin[ss, " "]] Out[84]= True (But possibly, for string manipulation, you might like to search for a different tool, Perl perhaps) --- Hartmut