Inicio Foros Lenguajes de programación, desarrollo, código fuente .Net C# VB y PowerShell Obtener DNI NIF de texto sin formato con C# y expresiones regulares [RESUELTO]

  • Este debate tiene 4 respuestas, 2 mensajes y ha sido actualizado por última vez el hace 1 año por Varios.
Viendo 5 entradas - de la 1 a la 5 (de un total de 5)
  • Autor
    Entradas
  • #48735
    Varios
    Moderador

    Hola, tengo un texto sin formato, de este estilo:

    ORGANICACIÓN\nIMPORTE TOTAL FACTURACIÓN\n\nHORAS TOTALES\n16-05-2023\nControl de Stock Almacén\n7\4557\nPeríodo del 01 de enero de 2023 al 31 de diciembre de 2023\n45785444JSALARIO USUARIO 1.536,41\nSTOCK POR USUARIO 22,3

    Como se puede observar, no tiene un formato ni una forma rápida para obtener el NIF/DNI del usuario, que en el ejemplo sería 45785444J. Me han hablado de las expresiones regulares en C Sharp (C#) ¿cómo puede obtenerse ese valor de DNI dentro de ese texto sin formato en C#?

    El texto lo obtengo extrayendo texto de ficheros PDF, no puedo obtenerlo de otra forma.

    #48736
    alonsojpd
    Superadministrador

    Hola, te paso una expresión regular (RegEx) que te puede servir:

    Además, esta expresión te sirve tanto para DNI/NIF (del tipo 12345678A como para NIE (del tipo X1234567X).

    #48737
    Varios
    Moderador

    Ok ¿cómo puedo usar esa expresión regular en C#?

    #48738
    alonsojpd
    Superadministrador

    Un ejemplo de código C# que utiliza esa expresión regular para obtener el DNI/NIF/NIE de una cadena de texto:

    #48739
    Varios
    Moderador

    Perfecto, me funciona bien. He quitado los guiones porque no los usamos, he dejado:

    Y no tenemos NIE, por lo que lo he reducido a:

    ¡Muchas gracias!

Viendo 5 entradas - de la 1 a la 5 (de un total de 5)
  • Debes estar registrado para responder a este debate.