Soy muy nuevo en programación y tengo una pregunta, estoy tratando de usar el método Regex para extraer horas, minutos y segundos de una cadena y ponerlos en una matriz, pero hasta ahora puedo hacerlo con un solo número:
int initialDay D = 0;
string startDay = Console.ReadLine(); //input: "It started 5 days ago"
var resultString = Regex.Match(startDay, @"\d+").Value;
initialDay = Int32.Parse(resultString); // initialDay here equals 5.
¿Cómo se las arregla para leer una cadena 06: 11: 33 y transformar estas horas, minutos y segundos en una serie de entradas? Entonces la matriz resultante sería así:
int[] array = new int[] {n1, n2, n3}; // the n1 would be 6, n2 would be 11 and n3 would be 33
¡Gracias por su tiempo por adelantado!
A menos que esté tratando de aprender expresiones regulares, no hay razón para que realice este análisis usted mismo.
Use el
TimeSpan.Parse()
método para esta tarea.fuente
Podría usar
string.Split()
para obtener una matriz de elementos separados por:
. Luego puede recorrerlo,int.Parse
los elementos y asignarlos a la matriz de enteros.O puede usar Linq's
Select()
para hacer el análisis.fuente
Usar
Regex.Matches(string input, string pattern)
así:fuente
En lugar de la expresión regular, puede usar TimeSpan.Parse () Verifíquelo https://docs.microsoft.com/pl-pl/dotnet/api/system.timespan.parse?view=netframework-4.8
fuente
Manera RegEx:
La salida:
regex101
fuente
Si tiene fecha como cadena simple, puede usar el método de división:
Entonces puedes hacer una lista int usando System.Linq:
fuente