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 > > >> > > >> > > > > > > > > > > > > >
