Tengo datos que tiene este aspecto ...dividir una cadena en subcadenas de ancho fijo
1 TESTAAA SERNUM A DESCRIPTION
2 TESTBBB ANOTHR ANOTHER DESCRIPTION
3 TESTXXX BLAHBL
Mi pregunta es, ¿cuál es la forma más eficiente para dividir estos datos en su subseries más pequeños, ya que habrá cientos de líneas. Además, algunas de las líneas perderán la última columna. Intenté hacer expresiones regulares pero no tuve éxito con el patrón que utilicé para los anchos. Los datos anteriores deben descomponerse en estos campos (longitud de cada columna se indican a continuación)
{id} {firsttext} {serialhere} {description}
4 22 6 30+
Puede alguien dar una mano o sugerir un buen patrón de expresión coincidente para extraer la información?
Gracias, Simon
TextFieldParse puede leer desde cualquier Stream o TextReader, s o no tiene que ir a un archivo físico. –
@SteveDog Sí, los datos deben estar en un flujo. Sin embargo, esto rara vez es un problema, pero no necesariamente lo pondría allí si ya (por alguna razón) tuviera una matriz de cadenas que estuviera procesando, o algo así. Dicho esto, he editado para incluir esa información –
No, estoy diciendo que tomará un TextReader también, por lo que puedes simplemente crear una instancia como 'new TextFieldParser (new StringReader (" the data "))'. No se requiere flujo –