Autor Tema: Cadena de caracteres  (Leído 4390 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado metalgod

  • Usuario Jr
  • **
  • Mensajes: 22
    • Ver Perfil
Cadena de caracteres
« en: 31 de Julio de 2013, 04:39:25 pm »
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

Desconectado JoNhNaTaN

  • Novato
  • *
  • Mensajes: 3
    • Ver Perfil
Re:Cadena de caracteres
« Respuesta #1 en: 31 de Julio de 2013, 11:28:42 pm »
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.

Desconectado molaci

  • Usuario Sr.
  • ****
  • Mensajes: 113
    • Ver Perfil
Re:Cadena de caracteres
« Respuesta #2 en: 01 de Agosto de 2013, 08:52:03 am »
Prueba con la sentencia TRANSLATE.

Ej:

TRANSLATE cad  USING 'OA'.


Un saludo.

Desconectado metalgod

  • Usuario Jr
  • **
  • Mensajes: 22
    • Ver Perfil
Re:Cadena de caracteres
« Respuesta #3 en: 01 de Agosto de 2013, 01:34:49 pm »
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.