System::String-klass

String class

String class used across the library. Is a substitute for C# System.String when translating code. For optimization reasons, isn’t considered an Object subclass. This type should be allocated on stack and passed to functions by value or by reference. Never use System::SmartPtr class to manage objects of this type.

class String

Metoder

MetodBeskrivning
ASPOSECPP_VALUE_TYPE_IMPLEMENTS_INTERFACES()String är en värdetyp på C++-sidan som implicit (utan arv) implementerar vissa gränssnitt.
begin() constReturnerar en pekare till början av den faktiska strängbufferten. Återallokerar aldrig något. Garanterar inte att bufferten är null-terminerad.
Clone() constSkapar en kopia av den aktuella strängen.
static Compare(const String&, int, const String&, int, int, bool)Less-equal-greater-jämför två delsträngar.
static Compare(const String&, int, const String&, int, int, bool, const SharedPtr<System::Globalization::CultureInfo>&)Less-equal-greater-jämför två delsträngar.
static Compare(const String&, const String&, System::StringComparison)Less-equal-greater-jämför två strängar.
static Compare(const String&, int, const String&, int, int, System::StringComparison)Less-equal-greater-jämför två strängar.
static Compare(const String&, const String&, bool)Less-equal-greater-jämför två strängar.
static Compare(const String&, const String&, bool, const SharedPtr<System::Globalization::CultureInfo>&)Less-equal-greater-jämför två strängar.
static CompareOrdinal(const String&, const String&)Less-equal-greater-jämför två strängar med ordinalt läge.
static CompareOrdinal(const String&, int, const String&, int, int)Less-equal-greater-jämför två strängar med ordinalt läge.
CompareTo(const String&) constJämför två strängar i ’less-equals-more’-stil. Använder aktuell kultur.
static Concat(const ArrayPtr<String>&)Konkatenar strängar.
static Concat(const String&, const String&)Konkatenar strängar.
static Concat(const String&, const String&, const String&)Konkatenar strängar.
static Concat(const String&, const String&, const String&, const String&)Konkatenar strängar.
Contains(const String&) constKontrollerar om str är en delsträng av den aktuella strängen.
Contains(char16_t) constKontrollerar om strängen innehåller angivet tecken.
static Copy(const String&)Skapar en strängkopia.
CopyTo(int, const ArrayPtr<char_t>&, int, int) constKopierar tecken från strängen till befintliga arrayelement. Ingen storleksändring görs.
end() constReturnerar en pekare till slutet av den faktiska strängbufferten. Återallokerar aldrig något. Garanterar inte att bufferten är null-terminerad.
EndsWith(const String&) constKontrollerar om strängen slutar med angiven delsträng.
EndsWith(const String&, System::StringComparison) constKontrollerar om strängen slutar med angiven delsträng.
EndsWith(const String&, bool, const SharedPtr<System::Globalization::CultureInfo>&) constKontrollerar om strängen slutar med angiven delsträng.
Equals(const String&, System::StringComparison) constString likhetsjämförelse. Flera lägen som tillhandahålls av StringComparison‑enumerationen stöds.
Equals(const String&) constString likhetsjämförelse. Använder System::StringComparison::Ordinal jämförelseläge.
static Equals(const String&, const String&)Equal-jämför två strängar med Ordial jämförelseläge.
static Equals(const String&, const String&, System::StringComparison)Equal-jämför två strängar.
FastToAscii(char, int) constFörsöker konvertera en String till en ASCII-sträng.
static Format(const SharedPtr<IFormatProvider>&, const String&, const Args&…)Formaterar sträng i C#-stil.
static Format(std::nullptr_t, const String&, const Args&…)Formaterar sträng i C#-stil.
static Format(std::nullptr_t, const char16_t(&), const Args&…)Formaterar sträng i C#-stil.
static Format(const String&, const Args&…)Formaterar sträng i C#-stil.
static Format(const String&, const System::ArrayPtr<T>&)Formaterar sträng i C#-stil.
static FromAscii(const char *)Skapar String från en ASCII-sträng.
static FromAscii(const char *, int)Skapar String från en ASCII-sträng.
static FromAscii(const std::string&)Skapar String från en ASCII-sträng.
static FromUtf16(const std::u16string&)Skapar String från en utf16-sträng.
static FromUtf32(const uint32_t *, int32_t)Skapar String från en utf32-sträng.
static FromUtf8(const char *)Skapar String från en utf8-sträng.
static FromUtf8(const char *, int)Skapar String från en utf8-sträng.
static FromUtf8(const uint8_t *)Skapar String från en utf8-sträng.
static FromUtf8(const std::string&)Skapar String från en utf8-sträng.
static FromWCS(const std::wstring&)Skapar String från en widestring.
get_Length() constHämtar stränglängd.
GetHashCode() constHashes innehåller sträng. Implementerad i ICU, matchar inte hashvärden i C#.
IndexOf(const String&, System::StringComparison) constFramåtsökning i delsträng.
IndexOf(char_t, int) constFramåtsökning av tecken.
IndexOf(char_t, int, int) constFramåtsökning av tecken i delsträng.
IndexOf(const String&, int) constFramåtsökning i delsträng.
IndexOf(const String&, int, System::StringComparison) constFramåtsökning i delsträng.
IndexOf(const String&, int, int, System::StringComparison) constFramåtsökning i delsträng.
IndexOf(const String&, int, int) constFramåtsökning i delsträng.
IndexOfAny(char_t, int) constFramåtsökning av tecken.
IndexOfAny(const String&, int) constSöker därför efter alla tecken i str i detta. Om det första tecknet hittas returneras dess position, annars söks det andra och så vidare.
IndexOfAny(const ArrayPtr<char_t>&) constSöker efter någon av de angivna tecknen i hela strängen. Jämför det första tecknet i strängen med alla tecken i anyOf, sedan det andra och så vidare. Returnerar index för det första som matchar något av måltecknen.
IndexOfAny(const ArrayPtr<char_t>&, int32_t) constSöker efter någon av de angivna tecknen i delsträngen. Jämför det första tecknet i strängen med alla tecken i anyOf, sedan det andra och så vidare. Returnerar index för det första som matchar något av måltecknen.
IndexOfAny(const ArrayPtr<char_t>&, int32_t, int32_t) constSöker efter någon av de angivna tecknen i delsträngen. Jämför det första tecknet i strängen med alla tecken i anyOf, sedan det andra och så vidare. Returnerar index för det första som matchar något av måltecknen.
Insert(int, const String&) constInfogar delsträng på angiven position.
Is(const System::TypeInfo&) constKontrollerar om strängobjektet är av den typ som anges av den medföljande TypeInfo.
IsAsciiString() constAnger om en String endast innehåller ASCII‑symboler.
IsEmpty() constKontrollerar om strängen både är icke‑null och tom.
IsNormalized(System::Text::NormalizationForm) constKontrollerar om Unicode‑strängen är normaliserad med den angivna normaliseringsformen.
IsNull() constKontrollerar om strängen anses vara null. String är null endast om den konstruerats via String()‑konstruktorn, flyttats, kopierats eller tilldelats från en null‑sträng eller om metoden reset() har anropats.
IsNullOrEmpty() constKontrollerar om strängen är tom eller anses vara null.
static IsNullOrEmpty(const String&)Kontrollerar om den medföljande strängen är null eller tom.
static IsNullOrWhiteSpace(const String&)Anger om en angiven sträng är null, tom eller endast består av blankstegstecken.
static Join(const String&, const ArrayPtr<String>&, int, int)Sammanfogar array med sträng som avgränsare.
static Join(const String&, const System::Details::ArrayView<String>&, int, int)Sammanfogar array med sträng som avgränsare.
static Join(const String&, const SharedPtr<System::Collections::Generic::IEnumerable<String>>&)Sammanfogar array med sträng som avgränsare.
static Join(const String&, const ArrayPtr<SharedPtr<Object>>&)Sammanfogar array med sträng som avgränsare.
LastIndexOf(const String&, int) constBakåtsökning i delsträng.
LastIndexOf(const String&, System::StringComparison) constBakåtsökning i delsträng.
LastIndexOf(const String&, int, System::StringComparison) constBakåtsökning i delsträng.
LastIndexOf(const String&, int, int, StringComparison) constBakåtsökning i delsträng.
LastIndexOf(char_t) constBakåtsökning av tecken.
LastIndexOf(char_t, int32_t) constBakåtsökning av tecken.
LastIndexOf(char_t, int32_t, int32_t) constBakåtsökning av tecken.
LastIndexOfAny(const ArrayPtr<char_t>&) constSöker efter någon av de angivna tecknen i hela strängen baklänges. Jämför det sista tecknet i strängen med alla tecken i anyOf, sedan föregående och så vidare. Returnerar index för den första matchen som hittas.
LastIndexOfAny(const ArrayPtr<char_t>&, int32_t) constSöker efter någon av de angivna tecknen i delsträngen baklänges. Jämför det sista tecknet i strängen med alla tecken i anyOf, sedan föregående och så vidare. Returnerar index för den första matchen som hittas.
LastIndexOfAny(const ArrayPtr<char_t>&, int32_t, int32_t) constSöker efter någon av de angivna tecknen i delsträngen baklänges. Jämför det sista tecknet i strängen med alla tecken i anyOf, sedan föregående och så vidare. Returnerar index för den första matchen som hittas.
Normalize(System::Text::NormalizationForm) constNormaliserar Unicode‑sträng med den angivna normaliseringsformen.
operator!=(const String&) constIcke‑likhetsoperator.
operator!=(std::nullptr_t) constKontrollerar om strängen inte är null. Använder samma logik som anropet IsNull().
operator+(const String&) constString konkateneringsoperator.
operator+(const T&) constString sammanslagning med strängliteral eller teckensträngspekare.
operator+(char_t) constLägger till tecken i slutet av strängen.
operator+(int) constLägger till heltalsvärdets strängrepresentation i slutet av strängen.
operator+(uint32_t) constLägger till den osignerade heltalsvärdets strängrepresentation i slutet av strängen.
operator+(double) constLägger till flyttalsvärdets strängrepresentation i slutet av strängen.
operator+(int64_t) constLägger till heltalsvärdets strängrepresentation i slutet av strängen.
operator+(const T&) constLägger till referenstypobjektets strängrepresentation i slutet av strängen.
operator+(const T&) constLägger till referenstypobjektets strängrepresentation i slutet av strängen.
operator+(T) constLägger till det booleska värdets strängrepresentation i slutet av strängen.
operator+=(char_t)Sammanslagningstilldelningsoperator.
operator+=(const String&)Sammanslagningstilldelningsoperator.
operator+=(double)Sammanslagningstilldelningsoperator.
operator+=(uint8_t)Sammanslagningstilldelningsoperator.
operator+=(int16_t)Sammanslagningstilldelningsoperator.
operator+=(uint16_t)Sammanslagningstilldelningsoperator.
operator+=(int32_t)Sammanslagningstilldelningsoperator.
operator+=(uint32_t)Sammanslagningstilldelningsoperator.
operator+=(int64_t)Sammanslagningstilldelningsoperator.
operator+=(uint64_t)Sammanslagningstilldelningsoperator.
operator+=(T)Sammanslagningstilldelningsoperator.
operator<(const String&) constJämför strängar i ordning.
operator=(const String&)Tilldelningsoperator.
operator=(String&&)Flyttilldelningsoperator.
operator==(const String&) constLikhetsjämförelseoperator.
operator==(std::nullptr_t) constKontrollerar om strängen är null. Använder samma logik som anropet IsNull().
operator>(const String&) constJämför strängar i ordning.
operator[](int) constHämtar tecken på angiven position.
PadLeft(int, char_t) constLägger till utfyllnad till vänster om originalsträngen.
PadRight(int, char_t) constLägger till utfyllnad till höger om originalsträngen.
rbegin() constReturnerar omvänd iterator till det sista tecknet (om något) i den faktiska strängbufferten.
Remove(int32_t, int32_t) constExtraherar allt utom delsträngen från den aktuella strängen.
rend() constReturnerar omvänd iterator till före det första tecknet (om något) i den faktiska strängbufferten.
Replace(char_t, char_t) constErsätter alla förekomster av tecken i strängen.
Replace(const String&, const String&) constErsätter alla förekomster av söksträng i denna sträng.
reset()Sätter strängen till null. Är analogt med ‘string_variable_name = null’ i C#.
SetCharAt(int, char_t)Sätter tecken på angiven position.
Split(char_t, StringSplitOptions) constDelar strängen efter tecken.
Split(char_t, int32_t, StringSplitOptions) constDelar strängen efter tecken.
Split(char_t, char_t, StringSplitOptions) constDelar strängen efter en av två tecken.
Split(const ArrayPtr<char_t>&, StringSplitOptions) constDelar strängen efter ett av de angivna tecknen.
Split(const ArrayPtr<char_t>&, int32_t, StringSplitOptions) constDelar strängen efter ett av de angivna tecknen.
Split(const String&, StringSplitOptions) constDelar strängen efter en delsträng.
Split(const String&, int, StringSplitOptions) constDelar strängen efter en delsträng.
Split(const ArrayPtr<String>&, StringSplitOptions) constDelar strängen efter en delsträng.
Split(const ArrayPtr<String>&, int, StringSplitOptions) constDelar strängen efter en delsträng. För närvarande stöds endast en separatorarray med noll eller ett element.
StartsWith(const String&) constKontrollerar om strängen börjar med den angivna delsträngen.
StartsWith(const String&, System::StringComparison) constKontrollerar om strängen börjar med den angivna delsträngen.
StartsWith(const String&, bool, const SharedPtr<System::Globalization::CultureInfo>&) constKontrollerar om strängen börjar med den angivna delsträngen.
String()Standardkonstruktor. Skapar ett strängobjekt som betraktas som null.
String(T&, typename std::enable_if<IsStringLiteral<T, char16_t>::value>::type *)Konstruerar en sträng baserat på en strängliteral. Betraktar litteralen som en nullterminerad sträng och beräknar målsträngens längd baserat på litteralens storlek.
String(const T&, typename std::enable_if<IsStringPointer<T, char16_t>::value>::type *)Konstruerar en sträng baserat på en teckensträngspekare. Behandlar den pekade strängen som nullterminerad och beräknar målsträngens längd baserat på nulltecknet.
explicit String(T&, typename std::enable_if<IsStringLiteral<T, char>::value>::type *)Konstruerar en sträng baserat på en strängliteral. Betraktar litteralen som en nullterminerad sträng i UTF‑8 och beräknar målsträngens längd baserat på litteralens storlek.
explicit String(const T&, typename std::enable_if<IsStringPointer<T, char>::value>::type *)Konstruerar en sträng baserat på en teckensträngspekare. Behandlar den pekade strängen som nullterminerad i UTF‑8 och beräknar målsträngens längd baserat på nulltecknet.
String(const char16_t *, int)Konstruerar en sträng från en teckensträngspekare och en explicit längd.
String(const char *, int)Konstruerar en sträng från en teckensträngspekare och en explicit längd.
String(const char16_t *, int, int)Konstruerar en sträng från en teckensträngspekare från startposition med angiven längd.
explicit String(const char16_t, int)Fyllkonstruktor.
String(const T&, typename std::enable_if<std::is_same<T, std::nullptr_t>::value>::type *)Nullptr‑konstruktor. Deklarerad som mall för att lösa prioriteringar med andra mallkonstruktorer.
explicit String(T&, typename std::enable_if<IsStringLiteral<T, wchar_t>::value>::type *)Konstruerar en sträng baserat på en widestring‑literal. Betraktar litteralen som en nullterminerad sträng och beräknar målsträngens längd baserat på litteralens storlek. Konvertering från wchar_t är tidskrävande på vissa plattformar, så inga implicita konverteringar tillåts.
explicit String(const T&, typename std::enable_if<IsStringPointer<T, wchar_t>::value>::type *)Konstruerar en sträng baserat på en widecharacter‑strängpekare. Behandlar den pekade strängen som nullterminerad och beräknar målsträngens längd baserat på nulltecknet. Konvertering från wchar_t är tidskrävande på vissa plattformar, så inga implicita konverteringar tillåts.
explicit String(const wchar_t *, int)Konstruerar en sträng från en widecharacter‑strängpekare och en explicit längd. Konvertering från wchar_t är tidskrävande på vissa plattformar, så inga implicita konverteringar tillåts.
explicit String(const wchar_t, int)Fyllkonstruktor. Konvertering från wchar_t är tidskrävande på vissa plattformar, så inga implicita konverteringar tillåts.
String(const String&)Kopieringskonstruktor.
String(String&&)Flyttkonstruktor.
String(const ArrayPtr<char16_t>&)Konverterar hela teckenarrayen till en sträng.
String(const ArrayPtr<char16_t>&, int, int)Konverterar ett delintervall av teckenarrayen till en sträng. Om parametrarna ligger utanför arrayens gränser konstrueras en tom sträng.
explicit String(const codeporting_icu::UnicodeString&)Packar in UnicodeString i String.
explicit String(codeporting_icu::UnicodeString&&)Flyttkonstruktor.
explicit String(const std::wstring&)Skapar String från en widestring.
explicit String(const std::u16string&)Skapar String från en utf16-sträng.
explicit String(const std::string&)Skapar String från en std::string som presenteras i UTF‑8‑format.
explicit String(const std::u32string&)Skapar String från en std::u32string.
Substring(int32_t) constExtraherar delsträng.
Substring(int32_t, int32_t) constExtraherar delsträng.
ToAsciiString() constKonverterar strängen till std::string. Använder ASCII‑kodning.
ToByteArray(int32_t, int32_t, bool) constKonverterar strängen eller delsträngen till en bytearray.
ToCharArray(int32_t, int32_t) constKonverterar sträng eller delsträng till en array av tecken.
ToLower() constKonverterar alla tecken i strängen till gemener.
ToLower(const SharedPtr<System::Globalization::CultureInfo>&) constKonverterar alla tecken i strängen till gemener med hjälp av en specifik kultur.
ToLowerInvariant() constKonverterar alla tecken i strängen till gemener med hjälp av invariant kultur.
ToString() constOmslag för att hantera String-klassen i sammanhang där ToString() anropas på värdetypobjekt.
ToString(const SharedPtr<IFormatProvider>&) constOmslag för att hantera String-klassen i sammanhang där ToString() anropas på värdetypobjekt.
ToU16Str() constKonverterar sträng till std::u16string.
ToU32Str() constKonverterar sträng till std::u32string.
ToUpper() constKonverterar alla tecken i strängen till versaler.
ToUpper(const SharedPtr<System::Globalization::CultureInfo>&) constKonverterar alla tecken i strängen till versaler med hjälp av en specifik kultur.
ToUpperInvariant() constKonverterar alla tecken i strängen till versaler med hjälp av invariant kultur.
ToUtf8String() constKonverterar sträng till std::string. Använder UTF-8-kodning.
ToWCS() constKonverterar sträng till std::wstring.
Trim() constTar bort alla blankstegstecken från både början och slutet av strängen.
Trim(char_t) constTar bort alla förekomster av det angivna tecknet från både början och slutet av strängen.
Trim(const String&) constTar bort alla förekomster av de angivna tecknen från både början och slutet av strängen.
Trim(const ArrayPtr<char_t>&) constTar bort alla förekomster av de angivna tecknen från både början och slutet av strängen.
TrimEnd() constTar bort alla blankstegstecken från slutet av strängen.
TrimEnd(char_t) constTar bort alla förekomster av det angivna tecknet från slutet av strängen.
TrimEnd(const String&) constTar bort alla förekomster av de angivna tecknen från slutet av strängen.
TrimEnd(const ArrayPtr<char_t>&) constTar bort alla förekomster av de angivna tecknen från slutet av strängen.
TrimStart() constTar bort alla blankstegstecken från början av strängen.
TrimStart(char_t) constTar bort alla förekomster av det angivna tecknet från början av strängen.
TrimStart(const String&) constTar bort alla förekomster av de angivna tecknen från början av strängen.
TrimStart(const ArrayPtr<char_t>&) constTar bort alla förekomster av de angivna tecknen från början av strängen.
u_str() constReturnerar en ICU-stil nullterminerad buffert. Kan omallokera strängen.
~String()Destruktor.

Fält

FältBeskrivning
static EmptyTom sträng.
static NullNullsträng.

Typedefs

TypedefBeskrivning
reverse_iteratorOmvänd iterator-typ.

Anmärkningar

#include "system/string.h"
#include <iostream>

int main()
{
  // Skapa en sträng från teckenarrayen och skriv ut den.
  const auto chars = {u'h', u'e', u'l', u'l', u'o'};
  const System::String string1(chars);
  std::cout << string1 << std::endl;

  // Skapa en sträng från byte-arrayen och skriv ut den.
  const uint8_t bytes[] = {0x77, 0x6f, 0x72, 0x6c, 0x64, 0x0};
  const auto string2 = System::String::FromUtf8(bytes);
  std::cout << string2 << std::endl;

  // Trimma strängen nedan och skriv ut den.
  const System::String string3(u"   This string contains whitespaces in the beginning and at the end.   ");
  std::cout << '"' << string3.Trim() << '"' << std::endl;

  // Skriv ut antalet ord i .
  std::cout << "Number of words: " << string3.Trim().Split(' ')->get_Length() << std::endl;

  return 0;
}
/*
This code example produces the following output:
hello
world
"This string contains whitespaces in the beginning and at the end."
Number of words: 11
*/

Se även