none
Utilizar el valor numérico de un string RRS feed

  • Pregunta

  • Buenos días,

    Estoy haciendo la lectura de un archivo txt y quisiera utilizar el valor numérico del string que leo. Ejemplo:

    "Velocidad 1000 rpm"

    Quisiera utilizar el valor numérico 1000.

    Estoy realizando el programa con windows form

    lunes, 24 de junio de 2019 6:45

Respuestas

  • Perdon, hay que "escapar" la contrabarra de la cadena. Se puede hacer anteponiendo una arroba asi:

    @"\d+"

    o bien duplicando la contrabarra:

    "\\d+"

    Recuerda que esto hay que hacerlo siempre que en C# escribas una contrabarra dentro de un string, no tiene nada que ver el hecho de que en este caso el string se use para una expresion regular.

    Para lo del debugger, pon un punto de ruptura con Visual studio justo en la linea siguiente despues de haber obtenido mc, y despliega el contenido de mc. Se puede hacer desde las ventanitas Autos o Local o desde Immediate, o incluso desde el propio editor parando el puntero del raton encima de la variable.

    En este caso, el valor deseado resulta ser mc[0]:

    Captura de pantalla


    lunes, 24 de junio de 2019 7:48
    Moderador

Todas las respuestas

  • Podrías usar una expresión regular para separar el número:

    MatchCollection mc = Regex.Matches(miCadena, "\d+")

    Después tomas el mc[0] (o mc[1], nunca lo sé así a ojo, pero te lo dirá el debugger) y de ahí sacas el .Value (en este caso será "1000" en forma de string) y luego le haces un int.Parse si quieres pasarlo a número.

    lunes, 24 de junio de 2019 7:12
    Moderador
  • Me aparece como secuencia de escape no reconocida la parte de "\d+". Donde me indica el debugger el indice del valor de la variable?

    Gracias

    lunes, 24 de junio de 2019 7:37
  • Perdon, hay que "escapar" la contrabarra de la cadena. Se puede hacer anteponiendo una arroba asi:

    @"\d+"

    o bien duplicando la contrabarra:

    "\\d+"

    Recuerda que esto hay que hacerlo siempre que en C# escribas una contrabarra dentro de un string, no tiene nada que ver el hecho de que en este caso el string se use para una expresion regular.

    Para lo del debugger, pon un punto de ruptura con Visual studio justo en la linea siguiente despues de haber obtenido mc, y despliega el contenido de mc. Se puede hacer desde las ventanitas Autos o Local o desde Immediate, o incluso desde el propio editor parando el puntero del raton encima de la variable.

    En este caso, el valor deseado resulta ser mc[0]:

    Captura de pantalla


    lunes, 24 de junio de 2019 7:48
    Moderador
  • Muchas Gracias
    lunes, 24 de junio de 2019 8:08