TextInfo.ToTitleCase(String) Methode

Definition

Konvertiert die angegebene Zeichenfolge in große Anfangsbuchstaben (außer Wörtern, die vollständig in Großbuchstaben geschrieben sind, die als Akronyme betrachtet werden).

public:
 System::String ^ ToTitleCase(System::String ^ str);
public string ToTitleCase (string str);
member this.ToTitleCase : string -> string
Public Function ToTitleCase (str As String) As String

Parameter

str
String

Die in Schreibung mit großem Anfangsbuchstaben umzuwandelnde Zeichenfolge.

Gibt zurück

String

Die in Schreibung mit großem Anfangsbuchstaben konvertierte angegebene Zeichenfolge.

Ausnahmen

str ist null.

Beispiele

Im folgenden Beispiel wird die Zeichenfolgen-Zeichenfolge basierend auf der Kultur Englisch (USA) mit dem Kulturnamen en-US geändert.

using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Defines the String* with mixed casing.
   String^ myString = "wAr aNd pEaCe";
   
   // Creates a TextInfo based on the S"en-US" culture.
   CultureInfo^ MyCI = gcnew CultureInfo( "en-US",false );
   TextInfo^ myTI = MyCI->TextInfo;
   
   // Changes a String* to lowercase.
   Console::WriteLine( "\"{0}\" to lowercase: {1}", myString, myTI->ToLower( myString ) );
   
   // Changes a String* to uppercase.
   Console::WriteLine( "\"{0}\" to uppercase: {1}", myString, myTI->ToUpper( myString ) );
   
   // Changes a String* to titlecase.
   Console::WriteLine( "\"{0}\" to titlecase: {1}", myString, myTI->ToTitleCase( myString ) );
}

/*
This code produces the following output.

S"wAr aNd pEaCe" to lowercase: war and peace
S"wAr aNd pEaCe" to uppercase: WAR AND PEACE
S"wAr aNd pEaCe" to titlecase: War And Peace

*/
using System;
using System.Globalization;

public class SamplesTextInfo  {

   public static void Main()  {

      // Defines the string with mixed casing.
      string myString = "wAr aNd pEaCe";

      // Creates a TextInfo based on the "en-US" culture.
      TextInfo myTI = new CultureInfo("en-US",false).TextInfo;

      // Changes a string to lowercase.
      Console.WriteLine( "\"{0}\" to lowercase: {1}", myString, myTI.ToLower( myString ) );

      // Changes a string to uppercase.
      Console.WriteLine( "\"{0}\" to uppercase: {1}", myString, myTI.ToUpper( myString ) );

      // Changes a string to titlecase.
      Console.WriteLine( "\"{0}\" to titlecase: {1}", myString, myTI.ToTitleCase( myString ) );
   }
}

/*
This code produces the following output.

"wAr aNd pEaCe" to lowercase: war and peace
"wAr aNd pEaCe" to uppercase: WAR AND PEACE
"wAr aNd pEaCe" to titlecase: War And Peace

*/
Imports System.Globalization

Public Class SamplesTextInfo

   Public Shared Sub Main()

      ' Defines the string with mixed casing.
      Dim myString As String = "wAr aNd pEaCe"

      ' Creates a TextInfo based on the "en-US" culture.
      Dim myTI As TextInfo = New CultureInfo("en-US", False).TextInfo

      ' Changes a string to lowercase.
      Console.WriteLine("""{0}"" to lowercase: {1}", myString, myTI.ToLower(myString))

      ' Changes a string to uppercase.
      Console.WriteLine("""{0}"" to uppercase: {1}", myString, myTI.ToUpper(myString))

      ' Changes a string to titlecase.
      Console.WriteLine("""{0}"" to titlecase: {1}", myString, myTI.ToTitleCase(myString))

   End Sub

End Class


'This code produces the following output.
'
'"wAr aNd pEaCe" to lowercase: war and peace
'"wAr aNd pEaCe" to uppercase: WAR AND PEACE
'"wAr aNd pEaCe" to titlecase: War And Peace

Im folgenden Beispiel wird jede Zeichenfolge in einem Array an die ToTitleCase-Methode übergeben. Die Zeichenfolgen enthalten sowohl Titelzeichenfolgen als auch Akronyme. Die Zeichenfolgen werden mithilfe der Konventionen der Kultur "en-US" in titelbasierte Zeichenfolgen konvertiert.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] values = { "a tale of two cities", "gROWL to the rescue",
                          "inside the US government", "sports and MLB baseball",
                          "The Return of Sherlock Holmes", "UNICEF and children"};

      TextInfo ti = CultureInfo.CurrentCulture.TextInfo;
      foreach (var value in values)
         Console.WriteLine("{0} --> {1}", value, ti.ToTitleCase(value));
   }
}
// The example displays the following output:
//    a tale of two cities --> A Tale Of Two Cities
//    gROWL to the rescue --> Growl To The Rescue
//    inside the US government --> Inside The US Government
//    sports and MLB baseball --> Sports And MLB Baseball
//    The Return of Sherlock Holmes --> The Return Of Sherlock Holmes
//    UNICEF and children --> UNICEF And Children
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim values() As String = { "a tale of two cities", "gROWL to the rescue",
                                 "inside the US government", "sports and MLB baseball",
                                 "The Return of Sherlock Holmes", "UNICEF and children"}
                                 
      Dim ti As TextInfo = CultureInfo.CurrentCulture.TextInfo
      For Each value In values
         Console.WriteLine("{0} --> {1}", value, ti.ToTitleCase(value))
      Next
   End Sub
End Module
' The example displays the following output:
'    a tale of two cities --> A Tale Of Two Cities
'    gROWL to the rescue --> Growl To The Rescue
'    inside the US government --> Inside The US Government
'    sports and MLB baseball --> Sports And MLB Baseball
'    The Return of Sherlock Holmes --> The Return Of Sherlock Holmes
'    UNICEF and children --> UNICEF And Children

Hinweise

Im Allgemeinen konvertiert die Groß-/Kleinschreibung von Titeln das erste Zeichen eines Worts in Großbuchstaben und die restlichen Zeichen in Kleinbuchstaben. Diese Methode bietet jedoch derzeit keine ordnungsgemäße Groß-/Kleinschreibung, um ein Wort zu konvertieren, das vollständig groß geschrieben ist, z. B. ein Akronym. Die folgende Tabelle zeigt, wie die -Methode mehrere Zeichenfolgen rendert.

Eingabe Sprache Erwartetes Ergebnis Tatsächliches Ergebnis
War und Denk Englisch War andLand War andLand
Per anhalter durch dieCtxis Deutsch Per Anhalter durch die Sollxis Per Anhalter durch Die Seitxis
lesfragés d'ythaq Französisch Les Naufragés d'Ythaq Les Naufragés D'ythaq

Wie oben dargestellt, bietet ToTitleCase die -Methode ein beliebiges Casing-Verhalten, das nicht unbedingt linguistisch korrekt ist. Für eine linguistisch korrekte Lösung sind zusätzliche Regeln erforderlich, und der aktuelle Algorithmus ist etwas einfacher und schneller. Wir behalten uns das Recht vor, diese API in Zukunft langsamer zu gestalten.

Die aktuelle Implementierung der ToTitleCase -Methode ergibt eine Ausgabezeichenfolge, die die gleiche Länge wie die Eingabezeichenfolge hat. Dieses Verhalten ist jedoch nicht garantiert und kann sich in einer zukünftigen Implementierung ändern.

Gilt für

Siehe auch