User Tag List

Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 15 de 19

Tema: Script para eliminación selectiva de un texto

  1. #1

    Fecha de ingreso
    Feb 2007
    Mensajes
    747
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts

    Script para eliminación selectiva de un texto

    Hola famigos, estoy super liado con un proyecto que se supone era para ahorrarme tiempo en el día de hoy, así que si alguien puede ayudarme, yo, le beso los pies.

    Tengo un documento de texto hasta arriba de preguntas de las que quiero eliminar las que no valen es decir

    pregunta 82
    bla bla ball balblabl albalb aba balba

    a.
    Bli bli
    b.
    Ble ble
    c.blu blu

    respuesta c
    Pues me gustaría dejar todo menos las respuestas b y c.

    ¿Una ayudita porfi? es que con lo de las expresiones de texto regulares y formateo de cadenas y tal soy un manta.

  2. #2

    Fecha de ingreso
    Apr 2006
    Mensajes
    10,558
    Mencionado
    147 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,090
    Agradecer Thanks Received 
    3,073
    Thanked in
    Agradecido 1,428 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    15
    grep es tu amigo, pidele que te haga una busqueda inversa, te devuelva las lineas que justo no coincidan (las que quieres quitar) y lo tienes...


  3. #3

    Fecha de ingreso
    Mar 2007
    Ubicación
    Barna
    Mensajes
    10,347
    Mencionado
    93 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    371
    Agradecer Thanks Received 
    1,788
    Thanked in
    Agradecido 945 veces en [ARG:2 UNDEFINED] posts
    No le encuentro la lógica al asunto

  4. #4

    Fecha de ingreso
    Feb 2007
    Mensajes
    747
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Jojo, grep no me vale porque no quiero eliminar una expresión regular, quiero eliminar unas u otras en función del contenido de la ultima

    a.
    b.
    c.

    Respuesta: a
    Pues quiero eliminar b y c. ¿Lo he explicado mejor así?

  5. #5

    Fecha de ingreso
    May 2009
    Mensajes
    3,037
    Mencionado
    12 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    226
    Agradecer Thanks Received 
    173
    Thanked in
    Agradecido 112 veces en [ARG:2 UNDEFINED] posts
    Yo eso lo haria superfacil en java. Haces una app a la que pasas tres parametros: fichero, inicio de cadena a eliminar y fichero destino.

    De forma que le dices que todo lo que empiece por XXX no te lo guarde en el fichero destino.

    Si no sabes como hacerlo en un ratillo te lo podría hacer y te subo el programa a algun lado



    Edito: En funcion de la ultima?... me he liado espera que releo

    Edito 2: Bueno eliminas en funcion de Respuesta... coger el ultimo caracter de lo que empiece por respuesta y de lo anterior eliminas las que no sean... en java con un poco de logica se puede hacer.
    Cada pregunta en un nuevo bucle.
    Última edición por ChUKii; 13/03/2011 a las 21:36

  6. #6

    Fecha de ingreso
    Feb 2004
    Ubicación
    Madrid
    Mensajes
    8,514
    Mencionado
    30 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    191
    Agradecer Thanks Received 
    299
    Thanked in
    Agradecido 177 veces en [ARG:2 UNDEFINED] posts
    Haz caso a ChUKii, o bien hazlo en php. Yo antes usaba Java para estas cosas pero me da la sensación de que en php avanzo más deprisa programando este tipo de scripts. Tampoco tengo mucha experiencia en ninguno de los dos lenguajes, pero bueno.

  7. #7

    Fecha de ingreso
    May 2009
    Mensajes
    3,037
    Mencionado
    12 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    226
    Agradecer Thanks Received 
    173
    Thanked in
    Agradecido 112 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Segata Sanshiro Ver mensaje
    Haz caso a ChUKii, o bien hazlo en php. Yo antes usaba Java para estas cosas pero me da la sensación de que en php avanzo más deprisa programando este tipo de scripts. Tampoco tengo mucha experiencia en ninguno de los dos lenguajes, pero bueno.
    Es la misma cantidad de codigo en ambos lenguajes . Salvo que le metas algo grafico que en php al usar html es mas facil que meter swing jeje.


  8. #8

    Fecha de ingreso
    Feb 2007
    Mensajes
    747
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Si amigos, la lógica está muy clara, hasta yo la tengo clara.

    Lo que no tengo tan claro es: como separar todas las preguntas y de cada pregunta eliminar las otras, mirad, os pongo una pregunta de ejemplo

    QUESTION 7
    .

    Your company has an Active Directory domain. The main office has a DNS server named DNS1 that is configured with Active Directory-integrated DNS. The branch office has a DNS server named DNS2 that contains a secondary copy of the zone from DNS1. The two offices are connected with an unreliable WAN link.

    You add a new server to the main office. Five minutes after adding the server, a user from the branch office reports that he is unable to connect to the new server. You need to ensure that the user is able to connect to the new server.

    What should you do?

    A.
    Clear the cache on DNS2.

    B.
    Reload the zone on DNS1.

    C.
    Refresh the zone on DNS2.

    D.
    Export the zone from DNS1 and import the zone to DNS2.


    Answer: C
    Lo que hago ahora mismo (con piton)

    split de todo el texto en funcion de "QUESTION"

    split de cada Question en función de What should you do? (pongamos que XX)

    muestro la parte 1 de XX

    Cojo la respuesta de la parte dos de XX

    Comparo cada línea de XX (el primer caracter) con el resultado.

    En teoría funciona, pero claro, es que no corto bien el texto, porque, en XX tengo

    [0]= /n/nA
    [1]=B. (...)
    [2]=C.

    El problema son los /n/n que hay antes de la A, que los coje por como hago las separaciones.

  9. #9

    Fecha de ingreso
    Mar 2005
    Mensajes
    3,145
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    29
    Thanked in
    Agradecido 19 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Danielo515 Ver mensaje
    [0]= /n/nA
    [1]=B. (...)
    [2]=C.

    El problema son los /n/n que hay antes de la A, que los coje por como hago las separaciones.
    ¿Y no te los puedes cargar antes de procesar el archivo? (lo que viene siendo un $string=~s/\n\n//g de Perl)

    Saludos, Alex

  10. #10

    Fecha de ingreso
    May 2009
    Mensajes
    3,037
    Mencionado
    12 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    226
    Agradecer Thanks Received 
    173
    Thanked in
    Agradecido 112 veces en [ARG:2 UNDEFINED] posts
    A ver, pensando en Java:

    Sabes donde empieza cada pregunta por lo cual no deberias tener problema en volver a empezar a hacer lo toco cuando te llegue el siguiente "QUESTION".

    Yo lo que haría sería guardar el texto completo en un String. Ahi buscar el "Answer:" y cogeria el caracter indemediatamente siguiente a ese (el C por ejemplo). Esto con un split "Answer: " y usando subString para coger el caracter 0,1 del array [1] ya tendrias "C" .

    Despues haria un Split del String entero teniendo en cuenta los saltos de linea "\r\n".

    Esto me dejaria un array de Strings que recorreria al mismo tiempo que lo voy guardando en otro String (que sería el definitivo) buscando el String que empezara por el ultimo caracter de antes y un punto. (Para mas seguridad podrías tener en cuenta el hecho de que hayas pasado por el "What should you do?". Una vez que hemos encontrado el C. nos saltamos esa linea y la siguiente a la hora de guardarlo en el String definitivo y solucionado .

    Última edición por ChUKii; 13/03/2011 a las 22:34

  11. #11

    Fecha de ingreso
    Feb 2007
    Mensajes
    747
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Muchas gracias ChuKii, al final lo he hecho más o menos como tu me has dicho adaptándolo a mi código chapucero. El problema es que funciona bien como para 200 preguntas, pero hay 100 que me da un error y no sigue.

    Lo he hecho en pyton, si quereis posteo el código.

  12. #12

    Fecha de ingreso
    Oct 2003
    Mensajes
    17,905
    Mencionado
    42 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    214
    Agradecer Thanks Received 
    160
    Thanked in
    Agradecido 109 veces en [ARG:2 UNDEFINED] posts
    Me he partido el culo.

    Cada uno con una solucion en un lenguaje distinto, ha sido entretenido xD

  13. #13

    Fecha de ingreso
    Feb 2007
    Mensajes
    747
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Al menos la lógica era común XD

  14. #14

    Fecha de ingreso
    Mar 2005
    Mensajes
    3,145
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    29
    Thanked in
    Agradecido 19 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Danielo515 Ver mensaje
    Muchas gracias ChuKii, al final lo he hecho más o menos como tu me has dicho adaptándolo a mi código chapucero. El problema es que funciona bien como para 200 preguntas, pero hay 100 que me da un error y no sigue.

    Lo he hecho en pyton, si quereis posteo el código.
    Si posteas el código postea el fichero de datos también, o no habrá forma de saber en qué falla

    Saludos, Alex

  15. #15

    Fecha de ingreso
    May 2009
    Mensajes
    3,037
    Mencionado
    12 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    226
    Agradecer Thanks Received 
    173
    Thanked in
    Agradecido 112 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Danielo515 Ver mensaje
    Muchas gracias ChuKii, al final lo he hecho más o menos como tu me has dicho adaptándolo a mi código chapucero. El problema es que funciona bien como para 200 preguntas, pero hay 100 que me da un error y no sigue.

    Lo he hecho en pyton, si quereis posteo el código.
    De nada compañero, me alegro de haberte sido de ayuda .

    Para las que falla no puedes poner un try/catch para capturar la excepcion?


Página 1 de 2 12 ÚltimoÚltimo

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •