Heim > Backend-Entwicklung > C++ > Wie kann ich Strings in C# vergleichen, während ich Akzente ignoriere?

Wie kann ich Strings in C# vergleichen, während ich Akzente ignoriere?

Patricia Arquette
Freigeben: 2025-01-24 16:01:11
Original
382 Leute haben es durchsucht

How Can I Compare Strings in C# While Ignoring Accents?

Ignorieren Sie im C# String -Vergleich den Akzentbrief

In C#, Zeichenfolge mit derselben Schreibweise, aber unterschiedlicher Stress wird normalerweise als unterschiedliche Einheiten angesehen. Dies kann Herausforderungen bringen, wenn Sie die Zeichenfolge der Zeichenfolge ignorieren müssen.

Um dieses Problem zu lösen, gibt die Funktion

die Eingangszeichenfolge zu

an und entfernt alle nicht -intervalischen Markierungen, um alle Stempelungssymbole im Zeichen effektiv zu entfernen. Die erzeugte Zeichenfolge wird dann so angegeben, dass die Empfindlichkeit seines ursprünglichen Apfeles wiederhergestellt wird. RemoveDiacritics NormalizationForm.FormD NormalizationForm.FormC Diese Funktion wandelt den Spannungscharakter (wie "é") effektiv in seine entsprechenden Effekte (wie "e") um. Durch die Verwendung der und

können Sie die Empfindlichkeit oder Kleinbuchstaben beibehalten, während Sie die Dehnungsmarke entfernen.
<code class="language-csharp">static string RemoveDiacritics(string text)
{
  string formD = text.Normalize(NormalizationForm.FormD);
  StringBuilder sb = new StringBuilder();

  foreach (char ch in formD)
  {
    UnicodeCategory uc = CharUnicodeInfo.GetUnicodeCategory(ch);
    if (uc != UnicodeCategory.NonSpacingMark)
    {
      sb.Append(ch);
    }
  }

  return sb.ToString().Normalize(NormalizationForm.FormC);
}</code>
Nach dem Login kopieren

Zum Beispiel zeigt der folgende Code, wie die Funktion NormalizationForm.FormD zum Vergleich der Zeichenfolge verwendet wird, wenn das Spannungssymbol ignoriert: NormalizationForm.FormC Normalize

In diesem Beispiel werden S1 und S2 als unterschiedlich angesehen, wenn die Akzentsymbole nicht berücksichtigt werden. Nach der Entfernung der Spannungssymbole wurden die S1nodiacritics und die S2nodiacritics gleich, was zum Vergleich Ergebnis von True führte.

Das obige ist der detaillierte Inhalt vonWie kann ich Strings in C# vergleichen, während ich Akzente ignoriere?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage