2012-03-29 10 views
-7

ich wie eine Zeichenfolge haben,Entfernen Sie den Text in C# .net

string str; 

str = "This is my new string. "<script>" Hi this is XYZ "</script>""; 

Jetzt möchte ich den Text entfernen, "<script>"-"</script>" einschließlich der Tags von C# .NET-Code verwenden.

Danke,

+1

Insbesondere die Skript-Tags oder generische HTML-Tags. Möchten Sie auch verschachtelte Tags unterstützen? Was ist mit selbstschließenden Tags? –

+0

Sie möchten den Text aus der Variablen str entfernen? hast du versucht str = string.Empty? – Shyju

+0

Welches Stück Text möchten Sie entfernen - es ist nicht klar? Was hast du schon probiert? –

Antwort

1

Sie sollten Regex überprüfen.

Mit diesem können Sie es lokalisieren und löschen dann.

Dies sollte alles zwischen Script-Tags erhalten „<script>[^<]+</script>

+0

In normalen Situationen würde ich zustimmen, aber in der Frage, die er gibt, scheint dies eine vallid Antwort. – Frederiek

+0

Was ist der Link soll es zu sein "http: // www.c-sharpcorner.com/UploadFile/Prasad_1/RegExpPSD12062005021717AM/RegExpPSD.aspx", die nicht funktioniert scheint. – ChrisF

+0

sollte es ein Tutorial für Regex in c geben # – Frederiek

-10

Wenn Sie Text aus bestimmten Länge zB

"my name is testing" 

hier Sie entfernen möchten nur später substring Verwendung indexof Funktion entfernen is verwenden Methode für den Ersatz String mit Null oder etwas anderes.

In C# Sie Ihre Zeichenfolge wie folgt oder Benutzer regex filtern können, bevor die Daten eingeben

+0

Das ist so ein guter Weg, um Kommentare zu entfernen Danke ... –

+0

Dies ist kein Kommentar, es ist eine Antwort. Vielleicht ist das das Problem? Sie können es entfernen, indem Sie auf den Link "Löschen" klicken. –

1

das ist, was ich HTML-Tags in einer Zeichenfolge

public static string ClearHtmlTags(string html) 
     { 
      if (string.IsNullOrWhiteSpace(html)) 
       return html; 

      html = html.Trim(); 
      string[] hs = html.Split("<>".ToArray()); 
      bool skip = false; 

      StringBuilder sb = new StringBuilder(); 
      foreach (string s in hs) 
      { 
       if (!skip) 
        sb.Append(s); 

       skip = !skip; 
      } 
      return sb.ToString(); 
     } 

und mit einem einfachen ändern Sie verwenden, um entfernen wird erhalten Sie Ihre Methode

public static string ClearHtmlTags(string html) 
     { 
      if (string.IsNullOrWhiteSpace(html)) 
       return html; 

      html = html.Trim(); 
      string[] hs = html.Split("<>".ToArray()); 
      bool skip = false; 
      bool skipTag = false; 

      StringBuilder sb = new StringBuilder(); 
      foreach (string s in hs) 
      { 
       if (!skip) 
       { 
        if (!skipTag) 
         sb.Append(s); 
       } 
       else 
       { 
        skipTag = s == "script"; 
       } 

       skip = !skip; 
      } 
      return sb.ToString(); 
     } 
-1

Sie so etwas wie verwenden können:

Regex.Replace(inputString, "<script>([a-z]|[A-Z])*</script>", ""); 

jetzt würde dies nur alphanumerischen Text innerhalb der Skript-Tags ermöglichen

+0

Können Sie bitte Ihren Downvote erklären? – fixagon

+1

Ich habe nicht downvote, aber es wird die Leerzeichen und so ziemlich alles vermissen, was man in einem '

Verwandte Themen