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

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

Ausnahmen

str ist null.

Beispiele

Im folgenden Beispiel wird die Groß- und Kleinschreibung einer Zeichenfolge basierend auf der englischen Kultur (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 en-US-Kultur in die Groß-/Kleinschreibung 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 wird das erste Zeichen eines Worts in Großbuchstaben konvertiert, der Rest der Zeichen in Kleinbuchstaben. Diese Methode bietet jedoch derzeit keine ordnungsgemäße Groß- und 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
Krieg und Frieden Englisch Krieg und Frieden Krieg und Frieden
Per anhalter durch die Galaxis Deutsch Per Anhalter durch die Galaxis Per Anhalter Durch Die Galaxis
les naufragés d'ythaq Französisch Les Naufragés d'Ythaq Les Naufragés D'ythaq

Wie oben dargestellt, stellt die ToTitleCase -Methode ein willkürliches Groß-/Kleinschreibungsverhalten bereit, das linguistisch nicht unbedingt korrekt ist. Eine linguistisch korrekte Lösung würde zusätzliche Regeln erfordern, und der aktuelle Algorithmus ist etwas einfacher und schneller. Wir behalten uns das Recht vor, diese API in Zukunft langsamer zu machen.

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

Gilt für:

Weitere Informationen