Ir al contenido

Cadena de caracteres

Respuestas
3
Visitas
14
Iniciado por
metalgod
Fecha
31 Jul 2013, 16:39
Tema anterior - Siguiente tema

metalgod

Buenas, como están?

mi consulta es sobre cadenas de caracteres:

Tengo una variable de tipo string, con una frase y quiero poder reemplazar una letra por otra, esta letra a reemplazar se encuentra en el medio, como puedo hacer? el tipo string no me permite una asignación desplazándome hasta el caracter en cuestión y la sentencia REPLACE solo me reemplaza la primer ocurrencia, no me permite posicionarme

  DATA:
        cad TYPE string VALUE 'SOY UNO CADENA'.


""""""""""""  cad+6(1) = 'A'. ( no me lo permite hacer por se un tipo string y no        """"""""""""  permite la asignación

"""""""""""" REPLACE 'O' WITH 'A' INTO cad. (me reemplaza solo la primer """""""""""" ocurrencia de 'O'

De la única manera que pude usar la asignación con desplazamiento es declarar la variable de tipo c, pero no me sirve, tiene que ser un string, tiene que poder hacerse.

Agradezco su ayuda, saludos

JoNhNaTaN

haz intentado separando la cadena hasta la posicion en donde tienes el caracter a reemplazar por ejemplo:
cad_1 = cad(5).
cad_2 = cad5(10).
luego:
REPLACE 'O' WITH 'A' INTO cad_2.
luego:
concatenate cad_1 cad_2 into cad.

Saludos.

molaci

Prueba con la sentencia TRANSLATE.

Ej:

TRANSLATE cad  USING 'OA'.


Un saludo.

metalgod

pero el translate me traduciria todas las ocurrencias

Lo que hice fue lo siguiente

DATA:
cad TYPE string VALUE 'SOY UNO CADENA'.

REPLACE SECTION OFFSET 6 LENGTH 1 OF cad WITH 'A'.

gracias por sus respuestas.