|
#1
|
||||
|
||||
Cadena de caracteres
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 |
#2
|
|||
|
|||
Amigo,
se me ocurre que puedes hacer lo siguiente : REPLACE 'UNO' WITH 'UNA' INTO cad. o también: DATA: kdn(200) TYPE c. "puede ser 200, 300 o lo más extensa posible kdn = cad. kdn+6(1) = 'A'. cad = kdn. Saludos |
#3
|
||||
|
||||
muchas gracias por tu respuesta
La segunda opcion no la tuve en cuenta ya que quiero usar tipo string y no tipo c. opte por la primera, pero con una variacion, use: DATA: cad TYPE string VALUE 'SOY UNO CADENA'. REPLACE SECTION OFFSET 6 LENGTH 1 OF cad WITH 'A'. |
#4
|
|||
|
|||
Puedes utilizar REPLACE ALL OCURRENCES
|
#5
|
||||
|
||||
pero esta mal lo que decis, porque eso me reemplazaria todas las ocurrencias, la misma sentencia lo dice (all ocurrences) y solo quiero reemplazar una en especifico
puse cual solucion encontre, igual gracias. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|