Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: BALTA00 en 19 Mayo 2017, 09:46 am



Título: ¿Cómo eliminar los n últimos/primeros caracteres de una cadena?
Publicado por: BALTA00 en 19 Mayo 2017, 09:46 am
Quisiera saber como hacer para eliminar bien sea los primeros XXX caracteres del principio o fin de una cadena, por ejemplo...

Código
  1. @Echo off
  2. Set /P "VALOR1=INTRODUCE 12 CARACTERES:"
  3.  
  4. :VALOR_A
  5. REM Eliminar 5 Digitos al Inicio
  6. SET /A "VALOR_A"=%VALOR1% ELIMINAR 5 CARACTERES AL INICIO
  7.  
  8.  
  9. :VALOR_B
  10. REM Eliminar 5 Digitos al FINAL
  11. SET /A "VALOR_B"=%VALOR1% ELIMINAR 5 CARACTERES AL FINAL
  12.  
  13. echo Resultado1 = %VALOR_A%
  14. echo Resultado2 = %VALOR_B%

A ver si me explico, quisiera que el usuario al Introducir por ejemplo:
ABCDEFGHIJKL
Pueda eliminarse 5 caracteres al inicio y 5 al final, de modo que quede:
VALOR_A = FGHIJKL
VALOR_B = ABCDEFG

Lo que no consigo averiguar es como hacer para eliminar caracteres bien sea al inicio o al final, y posteo por acá a ver si tengo la suerte que alguien entienda lo que estoy buscando y me de una mano... ¿Alguno sabe algo? De antemano le doy las gracias a quienes respondan


Título: Re: ¿Cómo eliminar los n últimos/primeros caracteres de una cadena?
Publicado por: Eleкtro en 19 Mayo 2017, 13:18 pm
Lo que quieres hacer se denomina Substring.

Código
  1. @Echo Off
  2.  
  3. Set "var=1234567890"
  4. Set "left=%var:~5%"    & REM Eliminar 5 caracteres empezando por la izquierda.
  5. Set "right=%var:~0,5%" & REM Eliminar 5 caracteres empezando por la derecha.
  6.  
  7. echo var..: %var%
  8. echo left.: %left%
  9. echo right: %right%
  10.  
  11. Pause & Exit /B 0

Saludos!


Título: Re: ¿Cómo eliminar los n últimos/primeros caracteres de una cadena?
Publicado por: BALTA00 en 19 Mayo 2017, 21:03 pm
Muchas gracias Elektro, eso es justamente lo que preguntaba, no conocía su nombre por eso era difícil buscarlo, tu ejemplo sirvió perfecto para entenderlo y hacer lo que quería, nuevamente muchas gracias  ;-)