2010-04-19 5 views
5

Se ho una variabile che contiene informazioni di testo (diciamo tratte da una textarea), come posso leggere il contenuto del testo contenuto in una stringa variabile riga per riga?Come analizzare l'input dell'utente da un'area di testo riga per riga

Il testo inserito nell'area di testo avrà \ n (tasto invio) per separare la linea.

+0

una buona domanda qui è ciò che è la lunghezza massima predefinita in una textarea? Con che scopo stiamo lavorando? – Glennular

+0

poche migliaia di righe, meno di 10K. – Blankman

risposta

11

È possibile utilizzare un StringReader:

var reader = new StringReader(textbox.Text); 
string line; 
while (null != (line = reader.ReadLine())) { 
    //... 
} 
6

tenta di utilizzare

string[] strings = yourString.Split(new string[] {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries) 
+1

Questo è inefficiente per le stringhe di grandi dimensioni. – SLaks

+1

@SLaks - Non è stato detto nulla sulla dimensione. Quindi presumo che la dimensione sia ragionevole. – Hun1Ahpu

+2

Avresti gravi problemi di download e/o di iniezione molto prima che questo diventi meno efficiente di un StringReader. –

0
string[] splitInput = System.Text.RegularExpressions.Regex.Split(
         InputString, "\r\n"); 
+0

Qui non c'è assolutamente nessun punto nell'uso delle espressioni regolari. – SLaks

0

Questa è una vecchia questione, ma questo potrebbe aiutare! Personalmente io uso questo codice per gestire tutti i sistemi operativi:

myString.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries) 
Problemi correlati