Enrico's code only gives the result I'd expect when str contains no more
than one umlauted-u.

To handle any number, try:

for  quit:str'["�"  set $extract(str,$find(str,"�")-1)="ue"

Or a more efficient algorithm that uses an extra variable, 'at':

set at=1 for  set at=$find(str,"�",at) quit:'at  set $extract(str,at-1)="ue"

Note that there are two spaces after the 'for' and 'quit' commands.

John

"Stijn De Saeger" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
> This does look a lot better indeed.
> have to remember this 'set $E' combination.
> cheers.
> stijn.
>
> "Enrico Parisi" <[EMAIL PROTECTED]> wrote in message
> news:[EMAIL PROTECTED]
> > Onother variant:
> >
> > Set $Extract(str,$Find(str,"�")-1)="ue"
> >
> > isn't this as simple as PHP or C ? ...or maybe simplier ? ;)
> >
> > Enrico
> >
> > Stijn De Saeger wrote:
> > > sorry the umlaut doesn't display on my machine so i'll just write
> 'umlaut'
> > > instead.
> > >
> > > while '($P(str,umlaut,2)="") { s
> > > str=$P(str,umlaut,1)_"ue"_$P(str,umlaut,2,$L(str,umlaut)) }
> > >
> > > arguably this looks a bit uglier, but it works just as well.
> > > regards,
> > > stijn.
> > >
> > >
> > >
> > > "Dipl.-Ing. Werner Riegler" <[EMAIL PROTECTED]>
wrote
> in
> > > message news:[EMAIL PROTECTED]
> > >
> > >>hi,
> > >>
> > >>how can I simply replace any german umlaut "$B!&(B with "ue" and so
on
> > >>
> > >>set newstr = $TRANSLATE(str, "$B!&(B, "ue") ... does not do it -
right
> ?
> > >>
> > >>so what should I use ?
> > >>(why isnt it as simple as PHP or C ? ;-[)
> > >>
> > >>help
> > >>
> > >>werner
> > >>
> > >>
> > >
> > >
> > >
> >
>
>


Reply via email to