You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@velocity.apache.org by "Geir Magnusson Jr." <ge...@optonline.net> on 2002/04/03 17:10:28 UTC
Re: Am I missing something simple? calling java.lang.String.replace(c
har, char)
On 4/3/02 9:57 AM, "Streithorst, Kip" <ks...@ball.com> wrote:
> I am trying to call java.lang.String.replace(char oldChar, char newChar)
>
> in my velocity template using
>
> $thestring.replace('\\', '/')
>
> But this doesn't seem to work.
>
Beautiful problem :)
There are a whole bunch of things wrong here. First, '<stuff>' is a string,
not a char. The diff between "" and '' is that '' isn't interpolated.
So
#set($foo = 'hello')
#set($bar = "$foo")
#set($woogie = '$foo')
$bar
$woogie
Outputs
Hello
$foo
We have no natural way to specify a char in Velocity. That's why the method
isn't getting called.
So you can resort to a horror show like :
#set($foo = "hello?")
#set($thingy = "?!")
#set($a = $thingy.charAt(0))
#set($b = $thingy.charAt(1))
$foo
$foo.replace($a, $b)
And that works.
I have no immediate ideas on what to do about the fact we have no way of
representing a char...
--
Geir Magnusson Jr. geirm@optonline.net
System and Software Consulting
Somebody has to do something, and it's just incredibly pathetic that it has
to be us. - Jerry Garcia
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>