Clase System::String

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

Métodos

MétodoDescripción
begin() constDevuelve un puntero al comienzo del búfer real de la cadena. Nunca reasigna nada. No garantiza que el búfer esté terminado en nulo.
Clone() constCrea una copia de la cadena actual.
static Compare(const String&, int, const String&, int, int, bool)Less-equal-greater-compara dos subcadenas.
static Compare(const String&, int, const String&, int, int, bool, const SharedPtr<System::Globalization::CultureInfo>&)Less-equal-greater-compara dos subcadenas.
static Compare(const String&, const String&, System::StringComparison)Less-equal-greater-compara dos cadenas.
static Compare(const String&, int, const String&, int, int, System::StringComparison)Less-equal-greater-compara dos cadenas.
static Compare(const String&, const String&, bool)Less-equal-greater-compara dos cadenas.
static Compare(const String&, const String&, bool, const SharedPtr<System::Globalization::CultureInfo>&)Less-equal-greater-compara dos cadenas.
static CompareOrdinal(const String&, const String&)Less-equal-greater-compara dos cadenas usando el modo ordinal.
static CompareOrdinal(const String&, int, const String&, int, int)Less-equal-greater-compara dos cadenas usando el modo ordinal.
CompareTo(const String&) constCompara dos cadenas en estilo ’less-equals-more’. Usa la cultura actual.
static Concat(const ArrayPtr<String>&)Concatena cadenas.
static Concat(const String&, const String&)Concatena cadenas.
static Concat(const String&, const String&, const String&)Concatena cadenas.
static Concat(const String&, const String&, const String&, const String&)Concatena cadenas.
Contains(const String&) constComprueba si str es una subcadena de la cadena actual.
Contains(char16_t) constComprueba si la cadena contiene el carácter dado.
static Copy(const String&)Crea una copia de la cadena.
CopyTo(int, const ArrayPtr<char_t>&, int, int) constCopia los caracteres de la cadena en elementos de un arreglo existente. No se realiza redimensionamiento.
end() constDevuelve un puntero al final del búfer real de la cadena. Nunca reasigna nada. No garantiza que el búfer esté terminado en nulo.
EndsWith(const String&) constComprueba si la cadena termina con la subcadena especificada.
EndsWith(const String&, System::StringComparison) constComprueba si la cadena termina con la subcadena especificada.
EndsWith(const String&, bool, const SharedPtr<System::Globalization::CultureInfo>&) constComprueba si la cadena termina con la subcadena especificada.
Equals(const String&, System::StringComparison) constString comparación de igualdad. Se admiten varios modos proporcionados por la enumeración StringComparison.
Equals(const String&) constString comparación de igualdad. Usa el modo de comparación System::StringComparison::Ordinal.
static Equals(const String&, const String&)Equal-compara dos cadenas usando el modo de comparación Ordial.
static Equals(const String&, const String&, System::StringComparison)Equal-compara dos cadenas.
FastToAscii(char, int) constIntenta convertir un String a una cadena ASCII.
static Format(const SharedPtr<IFormatProvider>&, const String&, const Args&…)Formatea la cadena al estilo C#.
static Format(std::nullptr_t, const String&, const Args&…)Formatea la cadena al estilo C#.
static Format(std::nullptr_t, const char16_t(&), const Args&…)Formatea la cadena al estilo C#.
static Format(const String&, const Args&…)Formatea la cadena al estilo C#.
static Format(const String&, const System::ArrayPtr<T>&)Formatea la cadena al estilo C#.
static FromAscii(const char *)Crea String a partir de una cadena ASCII.
static FromAscii(const char *, int)Crea String a partir de una cadena ASCII.
static FromAscii(const std::string&)Crea String a partir de una cadena ASCII.
static FromUtf16(const std::u16string&)Crea String a partir de una cadena utf16.
static FromUtf32(const uint32_t *, int32_t)Crea String a partir de una cadena utf32.
static FromUtf8(const char *)Crea String a partir de una cadena utf8.
static FromUtf8(const char *, int)Crea String a partir de una cadena utf8.
static FromUtf8(const uint8_t *)Crea String a partir de una cadena utf8.
static FromUtf8(const std::string&)Crea String a partir de una cadena utf8.
static FromWCS(const std::wstring&)Crea String a partir de widestring.
get_Length() constObtiene la longitud de la cadena.
GetHashCode() constGenera hash de la cadena contenida. Implementado en ICU, no coincide con los hashes en C#.
IndexOf(const String&, System::StringComparison) constBúsqueda hacia adelante de subcadena.
IndexOf(char_t, int) constBúsqueda hacia adelante de carácter.
IndexOf(char_t, int, int) constBúsqueda hacia adelante de carácter en subcadena.
IndexOf(const String&, int) constBúsqueda hacia adelante de subcadena.
IndexOf(const String&, int, System::StringComparison) constBúsqueda hacia adelante de subcadena.
IndexOf(const String&, int, int, System::StringComparison) constBúsqueda hacia adelante de subcadena.
IndexOf(const String&, int, int) constBúsqueda hacia adelante de subcadena.
IndexOfAny(char_t, int) constBúsqueda hacia adelante de carácter.
IndexOfAny(const String&, int) constPor consiguiente busca todos los caracteres de str en esto. Si se encuentra el primer carácter, se devuelve su posición; de lo contrario busca el segundo y así sucesivamente.
IndexOfAny(const ArrayPtr<char_t>&) constBusca cualquiera de los caracteres pasados en toda la cadena. Compara el primer carácter de la cadena con todos los caracteres en anyOf, luego compara el segundo y así sucesivamente. Devuelve el índice del primero que coincide con cualquiera de los caracteres objetivo.
IndexOfAny(const ArrayPtr<char_t>&, int32_t) constBusca cualquiera de los caracteres pasados en la subcadena. Compara el primer carácter de la cadena con todos los caracteres en anyOf, luego compara el segundo y así sucesivamente. Devuelve el índice del primero que coincide con cualquiera de los caracteres objetivo.
IndexOfAny(const ArrayPtr<char_t>&, int32_t, int32_t) constBusca cualquiera de los caracteres pasados en la subcadena. Compara el primer carácter de la cadena con todos los caracteres en anyOf, luego compara el segundo y así sucesivamente. Devuelve el índice del primero que coincide con cualquiera de los caracteres objetivo.
Insert(int, const String&) constInserta una subcadena en la posición especificada.
Is(const System::TypeInfo&) constComprueba si el objeto string es del tipo especificado por TypeInfo pasado.
IsAsciiString() constIndica si un String contiene solo símbolos ASCII.
IsEmpty() constComprueba si la cadena es no nula y está vacía.
IsNormalized(System::Text::NormalizationForm) constComprueba si la cadena Unicode está normalizada usando la forma de normalización especificada.
IsNull() constComprueba si la cadena se considera nula. String es nula solo si se construye mediante el constructor String(), se mueve, copia o asigna desde una cadena nula o se llamó al método reset().
IsNullOrEmpty() constComprueba si la cadena está vacía o se considera nula.
static IsNullOrEmpty(const String&)Comprueba si la cadena pasada es nula o está vacía.
static IsNullOrWhiteSpace(const String&)Indica si una cadena especificada es nula, está vacía o consta solo de caracteres de espacio en blanco.
static Join(const String&, const ArrayPtr<String>&, int, int)Une el arreglo usando una cadena como separador.
static Join(const String&, const System::Details::ArrayView<String>&, int, int)Une el arreglo usando una cadena como separador.
static Join(const String&, const SharedPtr<System::Collections::Generic::IEnumerable<String>>&)Une el arreglo usando una cadena como separador.
static Join(const String&, const ArrayPtr<SharedPtr<Object>>&)Une el arreglo usando una cadena como separador.
LastIndexOf(const String&, int) constBúsqueda hacia atrás de subcadena.
LastIndexOf(const String&, System::StringComparison) constBúsqueda hacia atrás de subcadena.
LastIndexOf(const String&, int, System::StringComparison) constBúsqueda hacia atrás de subcadena.
LastIndexOf(const String&, int, int, StringComparison) constBúsqueda hacia atrás de subcadena.
LastIndexOf(char_t) constBúsqueda hacia atrás de carácter.
LastIndexOf(char_t, int32_t) constBúsqueda hacia atrás de carácter.
LastIndexOf(char_t, int32_t, int32_t) constBúsqueda hacia atrás de carácter.
LastIndexOfAny(const ArrayPtr<char_t>&) constBusca cualquiera de los caracteres pasados en toda la cadena hacia atrás. Compara el último carácter de la cadena con todos los caracteres en anyOf, luego compara el anterior y así sucesivamente. Devuelve el índice de la primera coincidencia encontrada.
LastIndexOfAny(const ArrayPtr<char_t>&, int32_t) constBusca cualquiera de los caracteres pasados en la subcadena hacia atrás. Compara el último carácter de la cadena con todos los caracteres en anyOf, luego compara el anterior y así sucesivamente. Devuelve el índice de la primera coincidencia encontrada.
LastIndexOfAny(const ArrayPtr<char_t>&, int32_t, int32_t) constBusca cualquiera de los caracteres pasados en la subcadena hacia atrás. Compara el último carácter de la cadena con todos los caracteres en anyOf, luego compara el anterior y así sucesivamente. Devuelve el índice de la primera coincidencia encontrada.
Normalize(System::Text::NormalizationForm) constNormaliza la cadena Unicode usando la forma de normalización especificada.
operator ReadOnlySpan< char16_t >() constConvierte la cadena a un span de solo lectura.
operator!=(const String&) constOperador de comparación de desigualdad.
operator!=(std::nullptr_t) constComprueba si la cadena no es nula. Aplica la misma lógica que la llamada a IsNull().
operator+(const String&) constOperador de concatenación de String.
operator+(const T&) constConcatenación de String con literal de cadena o puntero a cadena de caracteres.
operator+(char_t) constAñade un carácter al final de la cadena.
operator+(int) constAgrega la representación en cadena del valor entero al final de la cadena.
operator+(uint32_t) constAgrega la representación en cadena del valor entero sin signo al final de la cadena.
operator+(double) constAgrega la representación en cadena del valor de punto flotante al final de la cadena.
operator+(int64_t) constAgrega la representación en cadena del valor entero al final de la cadena.
operator+(const T&) constAgrega la representación en cadena del objeto de tipo referencia al final de la cadena.
operator+(const T&) constAgrega la representación en cadena del objeto de tipo referencia al final de la cadena.
operator+(T) constAgrega la representación en cadena del valor booleano al final de la cadena.
operator+=(char_t)Operador de asignación de concatenación.
operator+=(const String&)Operador de asignación de concatenación.
operator+=(double)Operador de asignación de concatenación.
operator+=(uint8_t)Operador de asignación de concatenación.
operator+=(int16_t)Operador de asignación de concatenación.
operator+=(uint16_t)Operador de asignación de concatenación.
operator+=(int32_t)Operador de asignación de concatenación.
operator+=(uint32_t)Operador de asignación de concatenación.
operator+=(int64_t)Operador de asignación de concatenación.
operator+=(uint64_t)Operador de asignación de concatenación.
operator+=(T)Operador de asignación de concatenación.
operator<(const String&) constCompara ordenadamente cadenas.
operator=(const String&)Operador de asignación.
operator=(String&&)Operador de asignación por movimiento.
operator==(const String&) constOperador de comparación de igualdad.
operator==(std::nullptr_t) constComprueba si la cadena es nula. Aplica la misma lógica que la llamada IsNull().
operator>(const String&) constCompara ordenadamente cadenas.
operator[](int) constObtiene el carácter en la posición especificada.
PadLeft(int, char_t) constAgrega relleno a la izquierda de la cadena original.
PadRight(int, char_t) constAgrega relleno a la derecha de la cadena original.
rbegin() constDevuelve un iterador inverso al último carácter (si lo hay) del búfer de cadena real.
Remove(int32_t, int32_t) constExtrae todo excepto la subcadena de la cadena actual.
rend() constDevuelve un iterador inverso al carácter anterior al primero (si lo hay) del búfer de cadena real.
Replace(char_t, char_t) constReemplaza todas las apariciones del carácter en la cadena.
Replace(const String&, const String&) constReemplaza todas las apariciones de la búsqueda en esta cadena.
reset()Establece la cadena a nula. Es análogo a ‘string_variable_name = null’ en C#.
SetCharAt(int, char_t)Establece el carácter en la posición especificada.
Split(char_t, StringSplitOptions) constDivide la cadena por carácter.
Split(char_t, int32_t, StringSplitOptions) constDivide la cadena por carácter.
Split(char_t, char_t, StringSplitOptions) constDivide la cadena por uno de dos caracteres.
Split(const ArrayPtr<char_t>&, StringSplitOptions) constDivide la cadena por uno de los caracteres especificados.
Split(const ArrayPtr<char_t>&, int32_t, StringSplitOptions) constDivide la cadena por uno de los caracteres especificados.
Split(const String&, StringSplitOptions) constDivide la cadena por subcadena.
Split(const String&, int, StringSplitOptions) constDivide la cadena por subcadena.
Split(const ArrayPtr<String>&, StringSplitOptions) constDivide la cadena por subcadena.
Split(const ArrayPtr<String>&, int, StringSplitOptions) constDivide la cadena por subcadena. Actualmente, solo admite una matriz de separadores de cero o un elemento.
StartsWith(const String&) constComprueba si la cadena comienza con la subcadena especificada.
StartsWith(const String&, System::StringComparison) constComprueba si la cadena comienza con la subcadena especificada.
StartsWith(const String&, bool, const SharedPtr<System::Globalization::CultureInfo>&) constComprueba si la cadena comienza con la subcadena especificada.
String()Constructor predeterminado. Crea un objeto de cadena que se considera nulo.
String(T&, typename std::enable_if<IsStringLiteral<T, char16_t>::value>::type *)Construye una cadena a partir de un literal de cadena. Considera el literal como una cadena terminada en nulo y calcula la longitud de la cadena objetivo en función del tamaño del literal.
String(const T&, typename std::enable_if<IsStringPointer<T, char16_t>::value>::type *)Construye una cadena a partir de un puntero a cadena de caracteres. Trata la cadena apuntada como terminada en nulo y calcula la longitud de la cadena objetivo basándose en el carácter nulo.
explicit String(T&, typename std::enable_if<IsStringLiteral<T, char>::value>::type *)Construye una cadena a partir de un literal de cadena. Considera el literal como una cadena terminada en nulo en UTF‑8 y calcula la longitud de la cadena objetivo según el tamaño del literal.
explicit String(const T&, typename std::enable_if<IsStringPointer<T, char>::value>::type *)Construye una cadena a partir de un puntero a cadena de caracteres. Trata la cadena apuntada como terminada en nulo en UTF‑8 y calcula la longitud de la cadena objetivo basándose en el carácter nulo.
String(const char16_t *, int)Construye una cadena a partir de un puntero a cadena de caracteres y una longitud explícita.
String(const ReadOnlySpan<char16_t>&)Inicializa una nueva instancia de la clase System.String con los caracteres Unicode indicados en el span de solo lectura especificado.
String(const char *, int)Construye una cadena a partir de un puntero a cadena de caracteres y una longitud explícita.
String(const char16_t *, int, int)Construye una cadena a partir de un puntero a cadena de caracteres desde la posición inicial usando la longitud.
explicit String(const char16_t, int)Constructor de relleno.
String(const T&, typename std::enable_if<std::is_same<T, std::nullptr_t>::value>::type *)Constructor nullptr. Declarado como plantilla para resolver prioridades con otros constructores plantilla.
explicit String(T&, typename std::enable_if<IsStringLiteral<T, wchar_t>::value>::type *)Construye una cadena a partir de un literal widestring. Considera el literal como una cadena terminada en nulo y calcula la longitud de la cadena objetivo según el tamaño del literal. La conversión desde wchar_t es lenta en algunas plataformas, por lo que no se permiten conversiones implícitas.
explicit String(const T&, typename std::enable_if<IsStringPointer<T, wchar_t>::value>::type *)Construye una cadena a partir de un puntero a cadena de caracteres anchos. Trata la cadena apuntada como terminada en nulo y calcula la longitud de la cadena objetivo basándose en el carácter nulo. La conversión desde wchar_t es lenta en algunas plataformas, por lo que no se permiten conversiones implícitas.
explicit String(const wchar_t *, int)Construye una cadena a partir de un puntero a cadena de caracteres anchos y una longitud explícita. La conversión desde wchar_t es lenta en algunas plataformas, por lo que no se permiten conversiones implícitas.
explicit String(const wchar_t, int)Constructor de relleno. La conversión desde wchar_t es lenta en algunas plataformas, por lo que no se permiten conversiones implícitas.
String(const String&)Constructor de copia.
String(String&&)Constructor de movimiento.
String(const ArrayPtr<char16_t>&)Convierte todo el arreglo de caracteres a cadena.
String(const ArrayPtr<char16_t>&, int, int)Convierte un subrango del arreglo de caracteres a cadena. Si los parámetros están fuera de los límites del arreglo, se construye una cadena vacía.
explicit String(const codeporting_icu::UnicodeString&)Envuelve UnicodeString en String.
explicit String(codeporting_icu::UnicodeString&&)Constructor de movimiento.
explicit String(const std::wstring&)Crea String a partir de widestring.
explicit String(const std::u16string&)Crea String a partir de una cadena utf16.
explicit String(const std::string&)Crea String a partir de una cadena std::string presentada en formato UTF‑8.
explicit String(const std::u32string&)Crea String a partir de una cadena std::u32string.
Substring(int32_t) constExtrae una subcadena.
Substring(int32_t, int32_t) constExtrae una subcadena.
ToAsciiString() constConvierte la cadena a std::string. Utiliza codificación ASCII.
ToByteArray(int32_t, int32_t, bool) constConvierte la cadena o subcadena a un arreglo de bytes.
ToCharArray(int32_t, int32_t) constConvierte la cadena o subcadena a un arreglo de caracteres.
ToLower() constConvierte todos los caracteres de la cadena a minúsculas.
ToLower(const SharedPtr<System::Globalization::CultureInfo>&) constConvierte todos los caracteres de la cadena a minúsculas usando una cultura específica.
ToLowerInvariant() constConvierte todos los caracteres de la cadena a minúsculas usando la cultura invariante.
ToString() constWrapper para manejar la clase String en contextos donde se llama a ToString() sobre objetos de tipo valor.
ToString(const SharedPtr<IFormatProvider>&) constWrapper para manejar la clase String en contextos donde se llama a ToString() sobre objetos de tipo valor.
ToU16Str() constConvierte la cadena a std::u16string.
ToU32Str() constConvierte la cadena a std::u32string.
ToUpper() constConvierte todos los caracteres de la cadena a mayúsculas.
ToUpper(const SharedPtr<System::Globalization::CultureInfo>&) constConvierte todos los caracteres de la cadena a mayúsculas usando una cultura específica.
ToUpperInvariant() constConvierte todos los caracteres de la cadena a mayúsculas usando la cultura invariante.
ToUtf8String() constConvierte la cadena a std::string. Utiliza codificación UTF-8.
ToWCS() constConvierte la cadena a std::wstring.
Trim() constElimina todos los caracteres de espacio en blanco tanto del inicio como del final de la cadena.
Trim(char_t) constElimina todas las ocurrencias del carácter pasado tanto del inicio como del final de la cadena.
Trim(const String&) constElimina todas las ocurrencias de los caracteres pasados tanto del inicio como del final de la cadena.
Trim(const ArrayPtr<char_t>&) constElimina todas las ocurrencias de los caracteres pasados tanto del inicio como del final de la cadena.
TrimEnd() constElimina todos los caracteres de espacio en blanco del final de la cadena.
TrimEnd(char_t) constElimina todas las ocurrencias del carácter pasado del final de la cadena.
TrimEnd(const String&) constElimina todas las ocurrencias de los caracteres pasados del final de la cadena.
TrimEnd(const ArrayPtr<char_t>&) constElimina todas las ocurrencias de los caracteres pasados del final de la cadena.
TrimStart() constElimina todos los caracteres de espacio en blanco del inicio de la cadena.
TrimStart(char_t) constElimina todas las ocurrencias del carácter pasado del inicio de la cadena.
TrimStart(const String&) constElimina todas las ocurrencias de los caracteres pasados del inicio de la cadena.
TrimStart(const ArrayPtr<char_t>&) constElimina todas las ocurrencias de los caracteres pasados del inicio de la cadena.
u_str() constDevuelve un búfer nulo terminado al estilo ICU. Puede volver a asignar la cadena.
~String()Destructor.

Campos

CampoDescripción
static EmptyCadena vacía.
static NullCadena nula.

Typedefs

TypedefDescripción
reverse_iteratorTipo de iterador inverso.

Observaciones

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

int main()
{
  // Construye una cadena a partir del arreglo de caracteres y la imprime.
  const auto chars = {u'h', u'e', u'l', u'l', u'o'};
  const System::String string1(chars);
  std::cout << string1 << std::endl;

  // Construye una cadena a partir del arreglo de bytes y la imprime.
  const uint8_t bytes[] = {0x77, 0x6f, 0x72, 0x6c, 0x64, 0x0};
  const auto string2 = System::String::FromUtf8(bytes);
  std::cout << string2 << std::endl;

  // Recorta la cadena siguiente y imprímela.
  const System::String string3(u"   This string contains whitespaces in the beginning and at the end.   ");
  std::cout << '"' << string3.Trim() << '"' << std::endl;

  // Imprime el número de palabras en el .
  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
*/

Ver también