JAK: Konwertowanie ciągów znaków na wielkie litery, małe litery lub format nazwy własnej za pomocą programu Visual Basic .NET

Ten artykuł został opublikowany wcześniej pod numerem PL312897
Streszczenie
W tym artykule pokazano, jak konwertować ciąg znaków na wielkie litery, małe litery lub format nazwy własnej.

Program Visual Basic .NET umożliwia konwertowanie ciągów znaków na kilka sposobów. Jeśli używa się klas architektury Microsoft .NET Framework, można użyć metod klasStringiTextInfo. Program Visual Basic .NET obejmuje również wbudowane funkcjeUCase,LCaseiStrConv, które służą do tego samego celu.

KlasyStringmożna użyć do konwertowania ciągu znaków na wielkie lub małe litery, ale do konwertowania go na format nazwy własnej trzeba użyć metody z klasySystem.Globalization.TextInfo.

Konwertowanie ciągu znaków za pomocą klasy String lub funkcji języka Visual Basic

W tej sekcji opisano, jak użyć metod klasyStringlub wbudowanych funkcji języka Visual Basic (UCase,LCaseiStrConv) do konwertowania ciągu znaków na wielkie litery, małe litery lub format nazwy własnej.

Konwertowanie ciągu znaków na wielkie litery

KlasaStringzawiera metodę statyczną o nazwieToUpper. Metody tej można użyć do konwertowania ciągu znaków na wielkie litery. Można również użyć funkcjiUCaselubStrConv. Na przykład:
    Dim upper as String = "konwertowany z małych liter"    Console.WriteLine(upper.ToUpper())    Console.WriteLine(UCase(upper))    Console.WriteLine(StrConv(upper,VbStrConv.UpperCase))

Konwertowanie ciągu znaków na małe litery

MetodaToLowerjest odpowiednikiem metodyToUpper. MetodaToLowerkonwertuje ciąg znaków na małe litery. Można również użyć funkcjiLCaselubStrConv. Na przykład:
    Dim lower as String = "KONWERTOWANY Z WIELKICH LITER"    Console.WriteLine(lower.ToLower())    Console.WriteLine(LCase(lower))    Console.WriteLine(StrConv(lower,VbStrConv.LowerCase))

Konwertowanie ciągu znaków na format nazwy własnej

Aby konwertować ciąg znaków na format nazwy własnej, przekaż ciąg znaków do funkcjiStrConvwraz ze stałą określającą, jaka operacja ma zostać wykonana. Na przykład:
    Dim title as String = "konwertowany na format nazwy własnej"    Console.WriteLine(StrConv(title, VbStrConv.ProperCase))

Konwertowanie ciągu znaków za pomocą klasy TextInfo

W tej sekcji opisano, jak używać klasyTextInfodo konwertowania ciągów znaków. Ponieważ metod konwersji należących do klasyTextInfomożna używać do sterowania informacjami o kulturze, celowe może być użycie tej klasy, gdy trzeba określić ustawienia kultury.

TextInfojest elementem obszaru nazwSystem.Globalization. KlasaTextInfooferuje metodyToUpper,ToLoweriToTitleCasesłużące do konwertowania ciągu znaków odpowiednio na wielkie litery, małe litery lub format nazwy własnej. W odróżnieniu od metod klasyString, metody klasyTextInfonie są metodami statycznymi i wymagają wystąpienia klasy.

W większości sytuacji jako kultury domyślnej można używać kultury, która jest aktualnie używana. Informacje o kulturze to właściwość wątku, w którym wykonywany jest kod. Aby uzyskać informacje o kulturze, trzeba uzyskać dostęp do bieżącego wątku i pobrać z niego właściwośćCurrentCulture. Następnie można utworzyć obiekt klasyTextInfo. Na przykład:
    Dim curCulture As CultureInfo = Thread.CurrentThread.CurrentCulture    Dim tInfo As TextInfo = curCulture.TextInfo()
Następujący kod przykładowy ilustruje, jak wywołać trzy metody konwersji ciągów znaków klasyTextInfo:
    Dim title as String = "konwertowany za pomocą klasy textinfo"    Console.WriteLine(tInfo.ToTitleCase(title))    Console.WriteLine(tInfo.ToLower(title))    Console.WriteLine(tInfo.ToUpper(title))
Jeśli niezbędne jest utworzenie ciągów znaków o określonych ustawieniach kultury lub operowanie takimi ciągami, można użyć jednego z konstruktorów przeładowanych klasyTextInfodo utworzenia ciągów znaków z dowolnymi dostępnymi opcjami kultury.

Przykład „krok po kroku”

  1. Otwórz nowy projekt aplikacji konsoli w programie Visual Basic .NET.
  2. Zastąp kod w pliku Module1.vb następującym kodem:
    Imports System.GlobalizationImports System.ThreadingModule Module1    Public Sub main()        Dim title As String = "to jest konwertowany ciąg znaków"        Console.WriteLine("Metody wbudowane")        Console.WriteLine("----------------")        Console.WriteLine(UCase(title))        Console.WriteLine(LCase(title))        Console.WriteLine(StrConv(title, VbStrConv.UpperCase))        Console.WriteLine(StrConv(title, VbStrConv.LowerCase))        Console.WriteLine(StrConv(title, VbStrConv.ProperCase))        Console.WriteLine()        Console.WriteLine("Klasa String")        Console.WriteLine("------------")        Console.WriteLine(title.ToUpper())        Console.WriteLine(title.ToLower())        Console.WriteLine()        Console.WriteLine("Klasa TextInfo")        Console.WriteLine("--------------")        'Pobierz informacje o kulturze z bieżącego wątku.        Dim curCulture As CultureInfo = Thread.CurrentThread.CurrentCulture        'Utwórz obiekt TextInfo.        Dim tInfo As TextInfo = curCulture.TextInfo()        'Konwertuj na wielkie litery.        Console.WriteLine(tInfo.ToUpper(title))        'Konwertuj na małe litery.        Console.WriteLine(tInfo.ToLower(title))        'Konwertuj na format nazwy własnej.        Console.WriteLine(tInfo.ToTitleCase(title))    End SubEnd Module
  3. Naciśnij klawisze CTRL+F5, aby skompilować i uruchomić projekt.
  4. Przejrzyj wyniki w oknie Console.

Uwaga dotycząca właściwości InvariantCulture

W przypadku używania obszaru nazwGlobalizationdo konwertowania danych, jeśli zamiast wyświetlać, przechowuje się konwertowane dane, można użyć właściwościInvariantCultureklasyCultureInfo.

InvariantCulturenie jest ani neutralną, ani określoną kulturą; jest to kultura, która nie rozróżnia kultur. Jeśli do przechowywania danych używa się właściwościInvariantCulture, dane są przechowywane w spójny sposób, niezależnie od określonych ustawień kultury, jakie mogą być używane. Aby uzyskać więcej informacji, zobacz sekcjęMateriały referencyjne.

W poprzednim kodzie przykładowym jest używana właściwośćCultureInfobieżącego wątku:
Dim curCulture As CultureInfo = Thread.CurrentThread.CurrentCulture
Aby w tym samym scenariuszu użyć właściwościInvariantCulture, użyj następującego kodu:
Dim curCulture As CultureInfo = CultureInfo.InvariantCulture
Materiały referencyjne
Aby uzyskać dodatkowe informacje, zobacz następujące tematy w Pomocy online programu Microsoft Visual Studio .NET:
  • Using the InvariantCulture Property
  • TextInfo Class
  • CultureInfo Class
  • String Class
wielkie małe litery
Właściwości

Identyfikator artykułu: 312897 — ostatni przegląd: 04/09/2003 11:29:00 — zmiana: 1.0

Microsoft Visual Basic .NET 2002 Standard Edition

  • kbhowto kbhowtomaster KB312897
Opinia