2014-01-09 10 views
6

leid Leerzeichen und Zeilenumbrüche entfernen, wenn sie für C# Asp.Net nicht sehr praktisch sind, hoffe ich mich verständlich zu machen, ich habe diese SituationWie in einem String

string content = ClearHTMLTags(HttpUtility.HtmlDecode(e.Body)); 
content=content.Replace("\r\n", ""); 
content=content.Trim(); 
((Post)sender).Description = content + "...";    

ich dafür sorgen wird, dass die Zeichenfolge enthält weder Inhalt noch Leerzeichen (Trimmen) und weder Zeilenschaltung mit Zeilenvorschub, ich verwende den obigen Code eingefügt, aber es funktioniert auch nicht gut

irgendwelche Vorschläge ??

Vielen Dank Fabry

+2

Explain "nicht so toll funktioniert", beispielsweise Ein- und Ausgabe zeigen. – CodeCaster

Antwort

18

Sie alle Leerzeichen mit dieser Regex entfernen

content = Regex.Replace(content, @"\s+", string.Empty); 

was aus MSDN Leerzeichen sind.

Btw Sie verwechseln Trim mit dem Entfernen von Leerzeichen, in der Tat ist es nur Leerzeichen am Anfang und am Ende der Zeichenfolge zu entfernen. Wenn Sie alle Leerzeichen und Carige Returns ersetzen möchten, verwenden Sie meine Regex.

+1

Arbeit perfekt ... ich ersetzt String.Empty mit "", für einen Abstand zwischen einem Wort und dem anderen. – fabry19dice

4

sollte es

String text = @"hdjhsjhsdcj/sjksdc\t\r\n asdf"; 

     string[] charactersToReplace = new string[] { @"\t", @"\n", @"\r", " " }; 
     foreach (string s in charactersToReplace) 
     { 
      text = text.Replace(s, ""); 
     } 
0

einfache Änderung tun nur verpasst @ Symbol

string content = ClearHTMLTags(HttpUtility.HtmlDecode(e.Body)); 
content=content.Replace(@"\r\n", ""); 
content=content.Trim(); 
((Post)sender).Description = content + "...";