none
Separar parametros RRS feed

  • Pregunta

  • Hola

     

    Tengo un pequeño problema en el que neccesito separar parametros de unas lineas. Estos paramatros siempre tienen la misma medida, por exemplo la data la ora el nombre. Pero estos estan todos juntos, es decir, 2010-03-01-00.00.0000SERVIDOR!.....

    Alguna idea de como puedo hacerlo he intentado con $a[0 .. 0] pero esto solo consigo sacar una linea :(

    lunes, 3 de mayo de 2010 8:01

Respuestas

  • Es normal. Cuando pones $a[0..0] estas pidiendo el elemento 0 de un array (en este caso cada elemento del array es una línea de texto). Por cierto, creo recordar que ya te dije que $a[0..0] es lo mismo que $a[0], y es mejor que lo pongas de la segunda manera por simplicidad.

    Para separar esos datos tienes el método SubString de los objetos System.String. El primer parámetro indica desde qué caracter empieza la subcadena a extraer y el segundo parámetro la longitud de lka subcadena. En el siguiente ejemplo extraemos primero la fecha completa y luego el año, mes y día:

    PS D:> $a = "2010-03-01-00.00.0000SERVIDOR!"
    PS D:\> $a.Substring(0,10)
    2010-03-01
    PS D:\> $a.Substring(0,4)
    2010
    PS D:\> $a.Substring(5,2)
    03
    PS D:\> $a.Substring(8,2)
    01

    Si tienes la cadena como elemento de un array, la idea es la misma, pero poniendo el índice del array y después el método:

    $a = "2010-03-01-00.00.0000SERVIDOR!","2010-03-02-00.00.0000SERVIDOR!"
    For($i=0;$i -lt $a.Count;$i++)
    {
    	"Línea $([string]$i): $($a[$i])"
    	"Fecha: $($a[$i].SubString(0,10))"
    	"Año: $($a[$i].SubString(0,4))"
    	"Mes: $($a[$i].SubString(5,2))"
    	"Día: $($a[$i].SubString(8,2))"
    	"=============================="
    }

    El anterior script muestra:

    Línea 0: 2010-03-01-00.00.0000SERVIDOR!
    Fecha: 2010-03-01
    Año: 2010
    Mes: 03
    Día: 01
    ==============================
    Línea 1: 2010-03-02-00.00.0000SERVIDOR!
    Fecha: 2010-03-02
    Año: 2010
    Mes: 03
    Día: 02
    ==============================

     

     


    Un saludo

    Fernando Reyes [MS MVP]
    MCSA 2000/2003
    MCSE 2000/2003
    MCITP EnterpriseAdministrator
    Web: http://freyes.svetlian.com
    Blog: http://urpiano.wordpress.com
    RSS: http://urpiano.wordpress.com/feed/
    freyes.champú@champú.mvps.org
    (Aclárate la cabeza si quieres escribirme)
    lunes, 3 de mayo de 2010 9:36
    Moderador