7

Ho un'applicazione per Windows Phone. Nell'applicazione ho una casella di testo la cui proprietà acceptreturn è impostata su true.NewLine replacement C#?

Quello che voglio fare è creare una stringa nella casella di testo e sostituire le nuove linee con un carattere specifico, qualcosa di simile a "NL"

Ho provato quanto segue ma nessuno di loro ha lavorato.

string myString = myTextBox.Text.Replace(Environment.NewLine,"NL"); 
string myString = myTextBox.Text.Replace("\n","NL"); 
+1

Sei sicuro che sia il carattere di nuova riga siete dopo, e non 'carrozza return' - \ r? 'String myString = myTextBox.Text.Replace (" \ r "," NL ");' lavoro? Environment.NewLine di solito è '\ r \ n' su Windows, ad esempio, quindi hai provato \ n e \ r \ n! – dash

+0

Perché non ha funzionato? C'è stata un'eccezione? O l'output non è stato formattato come volevi? – psubsee2003

+0

bene non ha causato un'eccezione, semplicemente non ha funzionato. newline non è stato sostituito – user1924391

risposta

3

considerazione la sostituzione diversi tipi di interruzioni di riga per gestire tutti le possibilità

string myString myTextBox.Replace("\r\n", "NL").Replace("\n", "NL").Replace("\r", "NL"); 
1

Utilizzare questo cod e

var myString = myTextBox.Text.Replace("\r","NL"); 

Questo è per compatibilità con tutti i sistemi operativi.

+0

Grazie signore !! quella era la risposta dopo tutto – user1924391

1

Un question con un argomento simile aveva una abbastanza elegante answer si potrebbe considerare interessante da utilizzare:

using System.Text.RegularExpressions; 

myTextBox.Text = Regex.Replace(myTextBox.Text, @"\r(?!\n)|(?<!\r)\n", "NL");