Concatenation, replacing occurrences by another value, formatting
values within a string are quite common.

Playing with indexes within a string ? I rarely used this in the last 15 years.
In the old days yes since space was at premium, many languages did not
support dynamic allocations, speed was also much lower,...

Just to be curious, (I did not read the whole thread), what are you
representing with strings ?

Luc P.


> Thanks Josef, but could you explain a bit more. Are you saying that the 
> operation of replacing a substring (by index & length) with another 
> substring is not a common operation? 
> 
> i.e.
> 
> (defn replace-substring [s r start len] (str (subs s 0 start) r (subs s (+ 
> len start))))
> 
> If so, that does suprise me. I think I can better understand guns objection 
> on the basis that it would be a bad function for an immutable string 
> library, since the naming suggests mutability and also that if you wanted 
> to replace multiple substrings (which each would require several copy 
> operations) it would be (I think?) more efficient to do it in a single 
> expression involving multiple calls to substring, than using 
> replace-substring. But even so, there is already the function 'replace' in 
> clojure which also suggests mutability.
> 
> However, not being from a a java background I was also quite surprised to 
> find out that there isnt a similar function in java 
> (http://stackoverflow.com/questions/14642978/replace-part-of-a-string-between-indexes-in-java).
> 
> Im also interested in your second comment and was wondering what you mean 
> by transient string?
> 
> Thanks
> 
> Andy
> 
> 
> 
> 
> 
> On Wednesday, 2 April 2014 19:05:48 UTC+1, Jozef Wagner wrote:
> >
> > No. IMO this is not a common operation and should not be in core. If you 
> > need do it a lot, you should not use java string in the first place. 
> >
> > What should be included in core is a transient string, with support for 
> > assoc!.
> >
> > Jozef
> >
> >
> > On Wed, Apr 2, 2014 at 7:49 PM, Andy Smith 
> > <the4th...@googlemail.com<javascript:>
> > > wrote:
> >
> >> just a shame its not in the core, no?
> >>
> >>
> >> On Wednesday, 2 April 2014 18:06:03 UTC+1, A. Webb wrote:
> >>>
> >>> Using subs (no need for join) is the way I would go, just define
> >>>  
> >>>
> >>>     (defn replace-at [s n c] (str (subs s 0 n) c (subs s (inc n))))
> >>>
> >>>     (replace-at "hello" 1 "a") ;=> "hallo"
> >>>
> >>> and carry on.
> >>>
> >>>  
> >>>
> >>  -- 
> >> You received this message because you are subscribed to the Google
> >> Groups "Clojure" group.
> >> To post to this group, send email to clo...@googlegroups.com<javascript:>
> >> Note that posts from new members are moderated - please be patient with 
> >> your first post.
> >> To unsubscribe from this group, send email to
> >> clojure+u...@googlegroups.com <javascript:>
> >> For more options, visit this group at
> >> http://groups.google.com/group/clojure?hl=en
> >> --- 
> >> You received this message because you are subscribed to the Google Groups 
> >> "Clojure" group.
> >> To unsubscribe from this group and stop receiving emails from it, send an 
> >> email to clojure+u...@googlegroups.com <javascript:>.
> >> For more options, visit https://groups.google.com/d/optout.
> >>
> >
> >
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> --- 
> You received this message because you are subscribed to the Google Groups 
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
> 
--
Softaddicts<lprefonta...@softaddicts.ca> sent by ibisMail from my ipad!

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to