Cobol - Como buscar una palabra en un string de caracteres

 
Vista:

Como buscar una palabra en un string de caracteres

Publicado por patricio (3 intervenciones) el 04/06/2015 21:13:41
Hola amigos, tengo una consulta si me pueden ayudar, tengo un campo alfanumérico que puede contener cualquier carácter y necesito encontrar si existe una palabra en especial, de modo de obtener la posición inicial y final donde se encuentra la palabra en el campo alfanumérico. por ejemplo la variable contiene lo siguiente 'adfecdecasakodedec', el resultado seria que me diga que existe la palabra 'casa' y me de la posición inicial 8 y de termino 11.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Como buscar una palabra en un string de caracteres

Publicado por gatomalo (21 intervenciones) el 05/06/2015 03:17:23
WORKING STORAGE.
01 CONT PIC 999.
01 PALABRA PIC X(35).
01 wLongRaiz PIC 9(03).
01 NOMBRE PIC X(150).
PROCEDURE DIVISION.
MOVE 'adfecdecasakodedec' TO nombre.
INSPECT NOMBRE CONVERTING "abcdefghijklmnñopqrstuvwxyz"
TO "ABCDEFGHIJKLMNNOPQRSTUVWXYZ".
MOVE "CASA" TO PALABRA.
UNSTRING PALABRA DELIMITED BY SPACES INTO PALABRA COUNT IN wLongRaiz
INSPECT NOMBRE TALLYING CONT FOR ALL PALABRA(1:wLongRaiz).
IF CONT = 0 DISPLAY "NO EXISTE PALABRA".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Como buscar una palabra en un string de caracteres

Publicado por Patricio (3 intervenciones) el 05/06/2015 15:11:25
Gracia por la ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de SuperIndio
Val: 32
Ha mantenido su posición en Cobol (en relación al último mes)
Gráfica de Cobol

Como buscar una palabra en un string de caracteres

Publicado por SuperIndio (35 intervenciones) el 15/06/2015 18:44:12
En este posting yo puse un ejemplo:
http://www.lawebdelprogramador.com/foros/Cobol/1438184-Funciones-STRING-UNSTRING-con-VARCHAR.html

La Sent. STRING Sirve para unir valores de variables (no empaquetadas)
en otra variable. Es Obvio que es deseable que la logitud de la variable destino debe ser
igual o mayor a la sumatoria de las longitudes de la variables origen.

Ej:

1
2
3
4
5
6
7
01 Wkt-Registro
03 Wkt-Apellido Pic X(20) Value "Chamaco".
03 Wkt-Nombres Pic X(40) Value "Chulengo Chuleta".
03 Wkt-DNI Pic X(16) Value "20200212"
03 Wkt-CBU Pic 9(22) Value 6501295012740100001022.
03 Wkt-Cuenta Pic 9(12) Value 950127401
03 Wkt-TipoCuenta Pic 9(04) Value 0401.


1
2
Inspect Wkt-Nombres Replacing All "  " By "##"
Display "Nombre: " Wkt-Nombres

Nombre: Chulengo Chuleta########################

1
2
Inspect Wkt-Nombres Replacing All " " By "@"
Display "Nombre: " Wkt-Nombres

Nombre: Chulengo@Chuleta########################


1
2
Inspect Wkt-Nombres Replacing All "##" By " "
Display "Nombre: " Wkt-Nombres

Nombre: Chulengo@Chuleta

1
2
3
4
5
6
7
8
String Wkt-Apellido "@"
Wkt-Nombres "@"
Wkt-DNI "@"
Wkt-CBU "@"
Wkt-Cuenta "@"
Wkt-TipoCuenta
Delimited by Spaces Into Wkt-Linea
End-String

1
Display "Linea: " Wkt-Linea

Linea: Chamaco@Chulengo@Chuleta@20200212@6501295012740100001022@950127401@0401

1
Inspect Wkt-Linea Replacing All "@" By " "


1
Display "Linea: " Wkt-Linea

Linea: Chamaco Chulengo Chuleta 20200212 6501295012740100001022 950127401 0401


Tambien se puede Usar el Unstring cuando quieras separar un String en variables
siempre y cuando tengan algun patron de separador.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como buscar una palabra en un string de caracteres

Publicado por jorge (1 intervención) el 17/07/2020 20:06:40
WORKING STORAGE.
01 CONT PIC 999.
01 NOMBRE PIC X(150).
PROCEDURE DIVISION.
MOVE 'adfecdecasakodedec' TO nombre.
INSPECT nombre TALLYNG CONT FOR ALL "casa"
IF CONT > 0 DISPLAY "Existe".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar