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
ASPOSECPP_VALUE_TYPE_IMPLEMENTS_INTERFACES()String es un tipo de valor en el lado C++ que implícitamente (sin herencia) implementa algunas interfaces.
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 modo ordinal.
static CompareOrdinal(const String&, int, const String&, int, int)Less-equal-greater-compara dos cadenas usando 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 los elementos existentes del arreglo. 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) constComparación de igualdad de String. Se admiten varios modos proporcionados por la enumeración StringComparison.
Equals(const String&) constComparación de igualdad de String. 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 un String a partir de una cadena ASCII.
static FromAscii(const char *, int)Crea un String a partir de una cadena ASCII.
static FromAscii(const std::string&)Crea un String a partir de una cadena ASCII.
static FromUtf16(const std::u16string&)Crea un String a partir de una cadena utf16.
static FromUtf32(const uint32_t *, int32_t)Crea un String a partir de una cadena utf32.
static FromUtf8(const char *)Crea un String a partir de una cadena utf8.
static FromUtf8(const char *, int)Crea un String a partir de una cadena utf8.
static FromUtf8(const uint8_t *)Crea un String a partir de una cadena utf8.
static FromUtf8(const std::string&)Crea un String a partir de una cadena utf8.
static FromWCS(const std::wstring&)Crea un String a partir de una cadena widestring.
get_Length() constObtiene la longitud de la cadena.
GetHashCode() constLos hashes contenían la cadena. 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) constConsecuentemente 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 la 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 tanto no nula como 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, se copia o se 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 una matriz usando una cadena como separador.
static Join(const String&, const System::Details::ArrayView<String>&, int, int)Une una matriz usando una cadena como separador.
static Join(const String&, const SharedPtr<System::Collections::Generic::IEnumerable<String>>&)Une una matriz usando una cadena como separador.
static Join(const String&, const ArrayPtr<SharedPtr<Object>>&)Une una matriz usando una cadena como separador.
LastIndexOf(const String&, int) constBúsqueda inversa de subcadena.
LastIndexOf(const String&, System::StringComparison) constBúsqueda inversa de subcadena.
LastIndexOf(const String&, int, System::StringComparison) constBúsqueda inversa de subcadena.
LastIndexOf(const String&, int, int, StringComparison) constBúsqueda inversa de subcadena.
LastIndexOf(char_t) constBúsqueda inversa de carácter.
LastIndexOf(char_t, int32_t) constBúsqueda inversa de carácter.
LastIndexOf(char_t, int32_t, int32_t) constBúsqueda inversa de carácter.
LastIndexOfAny(const ArrayPtr<char_t>&) constBusca cualquiera de los caracteres pasados en toda la cadena de forma inversa. Compara el último carácter de la cadena con todos los caracteres de 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 de forma inversa. Compara el último carácter de la cadena con todos los caracteres de 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 de forma inversa. Compara el último carácter de la cadena con todos los caracteres de anyOf, luego compara el anterior y así sucesivamente. Devuelve el índice de la primera coincidencia encontrada.
Normalize(System::Text::NormalizationForm) constNormaliza una cadena Unicode usando la forma de normalización especificada.
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&) constString operador de concatenación.
operator+(const T&) constConcatenación de String con literal de cadena o puntero a cadena de caracteres.
operator+(char_t) constAgrega 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 el orden de las 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 a IsNull().
operator>(const String&) constCompara el orden de las 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 actual.
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 actual.
Replace(char_t, char_t) constReemplaza todas las ocurrencias del carácter en la cadena.
Replace(const String&, const String&) constReemplaza todas las ocurrencias 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 por defecto. 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, 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, calcula la longitud de la cadena objetivo en función del 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 UTF8, calcula la longitud de la cadena objetivo en función del 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 UTF8, calcula la longitud de la cadena objetivo en función del 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 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 de plantilla.
explicit String(T&, typename std::enable_if<IsStringLiteral<T, wchar_t>::value>::type *)Construye una cadena basada en un literal widestring. Considera el literal como una cadena terminada en nulo, calcula la longitud de la cadena objetivo basándose en el tamaño del literal. La conversión desde wchar_t consume tiempo 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 basada en un puntero a cadena de caracteres anchos. Trata la cadena apuntada como terminada en nulo, calcula la longitud de la cadena objetivo basándose en el carácter nulo. La conversión desde wchar_t consume tiempo 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 consume tiempo en algunas plataformas, por lo que no se permiten conversiones implícitas.
explicit String(const wchar_t, int)Constructor de llenado. La conversión desde wchar_t consume tiempo 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 de matriz de caracteres a cadena. Si los parámetros están fuera de los límites de la matriz, 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 un String a partir de una cadena widestring.
explicit String(const std::u16string&)Crea un 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 una matriz de bytes.
ToCharArray(int32_t, int32_t) constConvierte una cadena o subcadena en una matriz 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() en objetos de tipo valor.
ToString(const SharedPtr<IFormatProvider>&) constWrapper para manejar la clase String en contextos donde se llama a ToString() en objetos de tipo valor.
ToU16Str() constConvierte una cadena a std::u16string.
ToU32Str() constConvierte una 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 una cadena a std::string. Utiliza codificación UTF-8.
ToWCS() constConvierte una 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 de la matriz 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 imprímela.
  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 a continuación 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