Hola Andrés,andyglezl wrote: ↑Thu Oct 20, 2022 12:06 am Hola
Esto funciona...
Code: Select all
LOCAL Elemento, aResult aDatoABuscar := { ", SA DE CV.", ; "SA. DE CV.", ; "S.A DE CV", ; "S.A.DE C.V.", ; "S.A DE C.V.", ; ".S.A.DE C.V.", ; "S.A. DE C.V.", ; ",S.A. DE C.V.", ; ", S.A. DE C.V.", ; "S.A DE C.V", ; "S.A. DE C.V", ; "SA DE CV", ; ",SA.DE CV", ; "SA DE CV.", ; ", S.A DE C.V", ; "S.A DE C.V.", ; ", S.A. DE.C.V", ; "S.A. DE C", ; "S.A DE C", ; "S.A. DE" } aResult := ARRAY( HMG_LEN( aDatoABuscar ) ) For i1 = 1 TO HMG_LEN( aDatoABuscar ) aResult[ i1 ] := hb_StrReplace( aDatoABuscar[ i1 ], ; { ' ' => '', '.' => '', ',' => '', 'S' => '', 'A' => '', 'C' => '', 'V' => '', 'DE' => '' } ) Next MsgDebug( aResult )
Pues en mi caso esto no funciona, lo que hace el código es del nombre del cliente reemplazar los caracteres uno a uno que estás definiendo, eso deja un desastre en el nombre del cliente...
Igual me ha faltado un poco de contexto... veo que eres de México, sabes que en la facturación 4.0 el nombre del cliente cambia de, por ejemplo:
JAVIER PARADA SA DE CV -> JAVIER PARADA es decir, quitar lo que llaman Régimen Capital.
Ahora en mi caso el problema es que no estaba homologada la captura de la información, por ello cada usuario capturó la información de forma diferente.
Entonces el proceso que intento realizar es leer cada nombre de cliente, ver si contiene la cadena de caracteres que puede ser muy variada y quitar toda esa cadena, es decir, recorrer los nombres de clientes:
JAVIER PARADA SA DE CV ---> quitar SA DE CV y dejar JAVIER PARADA
NOMBRE DE CLIENTE2,SA DE CV ---> quitar ,SA DE CV y dejar NOMBRE DE CLIENTE2
OTRO CLIENTE, S.A DE CV. ---> quitar , S.A DE CV. y dejar OTRO CLIENTE y así...
y sólo expuse una muestra de los caracteres que intento quitar, tengo muchos otros, por ejemplo:
", S DE RL DE C.V" => "", ;
"S DE R L DE CV" => "", ;
"S. DE P.R. DE R.L" => "", ;
"SPR DE RL DE CV" => "", ;
"SAPI DE C.V." => "", ;
"S A B DE C.V." => "", ;
"S.C." => "", ;
"S.C" => "", ;
"S DE RL MI" => "", ;
"SCL" => "", ;
"S.P.R. DE R.L" => "", ;
"S.DE PR DE RL" => "", ;
"S.T.P.R.M" => "", ;
"S DE RL DE CV" => "", ;
"S.P.R. DE R.L." => "", ;
"SC DE RL DE C.V." => "", ;
"S. DE R.L. M.L." => "", ;
",S.DE R.L. MI." => "", ;
"S.P.R. DE R.L. DE C.V." => "", ;
"S.P.R. DE R.L. DE C.V." => "" } )
Si tienes alguna otra idea te agradezco.
Saludos,
Javier