2017-11-23 1 views
1

Hallo Ich habe den folgenden Code für die Anzeige von Suchergebnissen.Groß-und Kleinschreibung in Suchergebnissen mit RegExp in Rasierer MVC RSS

@foreach (var str in (item.ContentText.Split(new char[] { '?', '<', '!', '<', '^', '>', '*', '>'}).Where(a => a.Contains((string)ViewData["searchTerm"])))) 
{ 
         @Html.Raw(Regex.Replace(str, (string)ViewData["searchTerm"], 
"<span style='background-color:rgb(245, 234, 157); color:rgb(243, 122, 122)'>" + (string)ViewData["searchTerm"] + "</span>")) 
} 
        </a> 

Gibt es eine reg Exp in Rasierklinge für ignorieren Groß-und Kleinschreibung?

danke

+0

'Regex.Replace (str, (Zeichenkette) ViewData [" searchTerm "], ..., RegexOptions.IgnoreCase)' => ist das, was Sie wollen? Sie können 'RegexOptions.IgnoreCase' verwenden, um bei der Mustererkennung die Groß- und Kleinschreibung zu berücksichtigen. –

Antwort

2

Was Sie brauchen, ist RegexOptions.IgnoreCase als das letzte Argument von Regex.Replace Überlastung:

@foreach (var str in (item.ContentText.Split(new char[] { '?', '<', '!', '<', '^', '>', '*', '>'}).Where(a => a.Contains((string)ViewData["searchTerm"])))) 
{ 
    @Html.Raw(Regex.Replace(str, (string)ViewData["searchTerm"], 
       "<span style='background-color:rgb(245, 234, 157); color:rgb(243, 122, 122)'>" + (string)ViewData["searchTerm"] + "</span>", 
       RegexOptions.IgnoreCase)) 
} 

Die Standardeinstellung für Regex.Replace ist RegexOptions.None, die folgenden Regeln enthält (mit Schwerpunkt über Groß- und Kleinschreibung):

  • Das Muster wird als kanonischer und nicht als regulärer ECMAScript-Ausdruck interpretiert.

  • Das Muster für reguläre Ausdrücke wird in der Eingabezeichenfolge von links nach rechts abgeglichen.

  • Bei Vergleichen wird zwischen Groß- und Kleinschreibung unterschieden.

  • Die Sprachelemente ^ und $ entsprechen dem Anfang und dem Ende der Eingabezeichenfolge.

  • Das Sprachelement . entspricht jedem Zeichen außer \n.

  • Jedes weiße Leerzeichen in einem regulären Ausdrucksmuster wird als literales Leerzeichen interpretiert.

  • Die Konventionen der aktuellen Kultur werden verwendet, wenn das Muster mit der Eingabezeichenfolge verglichen wird.

  • Die Erfassung von Gruppen im regulären Ausdrucksmuster ist sowohl implizit als auch explizit.

Hinweis: Alle von System.Text.RegularExpressions Namespace bereitgestellt regex Optionen anstelle von Razor-Engine selbst.

Verwandte Themen