QString Class
La clase QString proporciona una cadena de caracteres Unicode. Más...
| Cabecera: | #include <QString> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- Lista de todos los miembros, incluidos los heredados
- Miembros obsoletos
- QString es parte de Clases implícitamente compartidas y Clases para datos de cadena.
Esta clase es fuertemente comparable.
Esta clase es fuertemente comparable con QChar, QLatin1StringView, const char16_t *, QStringView, y QUtf8StringView.
Esta clase es fuertemente comparable con QByteArray, QByteArrayView, y const char *.
Cuando se compara con matrices de bytes, su contenido se interpreta como UTF-8.
Nota: Todas las funciones de esta clase son reentrantes.
Tipos públicos
| ConstIterator | |
| Iterator | |
| enum | NormalizationForm { NormalizationForm_D, NormalizationForm_C, NormalizationForm_KD, NormalizationForm_KC } |
| enum | SectionFlag { SectionDefault, SectionSkipEmpty, SectionIncludeLeadingSep, SectionIncludeTrailingSep, SectionCaseInsensitiveSeps } |
| flags | SectionFlags |
| const_iterator | |
| const_pointer | |
| const_reference | |
| const_reverse_iterator | |
| difference_type | |
| iterator | |
| pointer | |
| reference | |
| reverse_iterator | |
| size_type | |
| value_type |
Funciones públicas
| QString() | |
| QString(QChar ch) | |
| QString(QLatin1StringView str) | |
(since 6.8) | QString(QStringView sv) |
| QString(const QByteArray &ba) | |
| QString(const char *str) | |
(since 6.1) | QString(const char8_t *str) |
| QString(const QChar *unicode, qsizetype tamaño = -1) | |
| QString(qsizetype size, QChar ch) | |
| QString(const QString &other) | |
| QString(QString &&otro) | |
| ~QString() | |
| QString & | append(const QString &str) |
| QString & | append(QChar ch) |
| QString & | append(QLatin1StringView str) |
(since 6.0) QString & | append(QStringView v) |
(since 6.5) QString & | append(QUtf8StringView str) |
| QString & | append(const QByteArray &ba) |
| QString & | append(const char *str) |
| QString & | append(const QChar *str, qsizetype len) |
| QString | arg(Args &&... args) const |
| QString | arg(const T&a, int fieldWidth = 0, QChar fillChar = u' ') const |
| QString | arg(T a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const |
| QString | arg(T a, int fieldWidth = 0, char format = 'g', int precision = -1, QChar fillChar = u' ') const |
(since 6.6) QString & | assign(QAnyStringView v) |
(since 6.6) QString & | assign(InputIterator first, InputIterator last) |
(since 6.6) QString & | assign(qsizetype n, QChar c) |
| const QChar | at(qsizetype position) const |
| QChar & | back() |
| QChar | back() const |
| QString::iterador | begin() |
| QString::const_iterator | begin() const |
| qsizetype | capacity() const |
| QString::const_iterator | cbegin() const |
| QString::const_iterator | cend() const |
| void | chop(qsizetype n) |
| QString | chopped(qsizetype len) && |
| QString | chopped(qsizetype len) const & |
| void | clear() |
| int | compare(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | compare(QLatin1StringView otro, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | compare(QStringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | compare(const QString &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QString::const_iterator | constBegin() const |
| const QChar * | constData() const |
| QString::const_iterator | constEnd() const |
| bool | contains(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const |
| bool | contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | contains(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | contains(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | contains(QStringView cadena, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | count(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | count(const QRegularExpression &re) const |
| qsizetype | count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.0) qsizetype | count(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QString::const_reverse_iterator | crbegin() const |
| QString::const_reverse_iterator | crend() const |
| QChar * | data() |
| const QChar * | data() const |
| QString::iterador | end() |
| QString::const_iterator | end() const |
| bool | endsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | endsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | endsWith(QLatin1StringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.1) QString::iterador | erase(QString::const_iterator first, QString::const_iterator last) |
(since 6.5) QString::iterador | erase(QString::const_iterator it) |
| QString & | fill(QChar ch, qsizetype tamaño = -1) |
(since 6.0) QString | first(qsizetype n) && |
(since 6.0) QString | first(qsizetype n) const & |
| QChar & | front() |
| QChar | front() const |
| qsizetype | indexOf(QLatin1StringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | indexOf(const QRegularExpression &re, qsizetype from = 0, QRegularExpressionMatch *rmatch = nullptr) const |
| qsizetype | indexOf(const QString &str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | indexOf(QChar ch, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | indexOf(QStringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QString & | insert(qsizetype position, const QString &str) |
| QString & | insert(qsizetype position, QChar ch) |
| QString & | insert(qsizetype posición, QLatin1StringView str) |
(since 6.0) QString & | insert(qsizetype position, QStringView str) |
(since 6.5) QString & | insert(qsizetype posición, QUtf8StringView cadena) |
| QString & | insert(qsizetype posición, const QByteArray &str) |
| QString & | insert(qsizetype posición, const char *str) |
| QString & | insert(qsizetype position, const QChar *unicode, qsizetype size) |
| bool | isEmpty() const |
| bool | isLower() const |
| bool | isNull() const |
| bool | isRightToLeft() const |
| bool | isUpper() const |
| bool | isValidUtf16() const |
(since 6.0) QString | last(qsizetype n) && |
(since 6.0) QString | last(qsizetype n) const & |
| qsizetype | lastIndexOf(const QRegularExpression &re, qsizetype from, QRegularExpressionMatch *rmatch = nullptr) const |
| qsizetype | lastIndexOf(const QString &str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.3) qsizetype | lastIndexOf(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.2) qsizetype | lastIndexOf(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.2) qsizetype | lastIndexOf(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.2) qsizetype | lastIndexOf(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const |
(since 6.2) qsizetype | lastIndexOf(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | lastIndexOf(QChar ch, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | lastIndexOf(QLatin1StringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | lastIndexOf(QStringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QString | left(qsizetype n) && |
| QString | left(qsizetype n) const & |
| QString | leftJustified(qsizetype width, QChar fill = u' ', bool truncate = false) const |
| qsizetype | length() const |
(since 6.0) int | localeAwareCompare(QStringView otro) const |
| int | localeAwareCompare(const QString &other) const |
(since 6.8) qsizetype | max_size() const |
| QString | mid(qsizetype position, qsizetype n = -1) && |
| QString | mid(qsizetype position, qsizetype n = -1) const & |
| QString | normalized(QString::NormalizationForm mode, QChar::UnicodeVersion version = QChar::Unicode_Unassigned) const |
(since 6.10) QString & | nullTerminate() |
(since 6.10) QString | nullTerminated() && |
(since 6.10) QString | nullTerminated() const & |
| QString & | prepend(const QString &str) |
| QString & | prepend(QChar ch) |
| QString & | prepend(QLatin1StringView str) |
(since 6.0) QString & | prepend(QStringView str) |
(since 6.5) QString & | prepend(QUtf8StringView str) |
| QString & | prepend(const QByteArray &ba) |
| QString & | prepend(const char *str) |
| QString & | prepend(const QChar *str, qsizetype len) |
| void | push_back(const QString &other) |
| void | push_back(QChar ch) |
| void | push_front(const QString &other) |
| void | push_front(QChar ch) |
| QString::iterador_inverso | rbegin() |
| QString::const_iterador_inverso | rbegin() const |
| QString & | remove(const QRegularExpression &re) |
| QString & | remove(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QString & | remove(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QString & | remove(qsizetype position, qsizetype n) |
| QString & | remove(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
(since 6.5) QString & | removeAt(qsizetype pos) |
(since 6.5) QString & | removeFirst() |
(since 6.1) QString & | removeIf(predicado pred) |
(since 6.5) QString & | removeLast() |
| QString::iterador_inverso | rend() |
| QString::const_iterador_inverso | rend() const |
| QString | repeated(qsizetype times) const |
| QString & | replace(qsizetype position, qsizetype n, const QString &after) |
| const QString & | replace(const QRegularExpression &re, const QString &after) |
| QString & | replace(QChar before, QChar after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QString & | replace(QChar c, QLatin1StringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QString & | replace(QChar ch, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QString & | replace(QLatin1StringView before, QLatin1StringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QString & | replace(QLatin1StringView before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QString & | replace(const QString &before, QLatin1StringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QString & | replace(const QString &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QString & | replace(qsizetype position, qsizetype n, QChar after) |
| QString & | replace(qsizetype position, qsizetype n, const QChar *after, qsizetype alen) |
| QString & | replace(const QChar *before, qsizetype blen, const QChar *after, qsizetype alen, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| void | reserve(qsizetype tamaño) |
| void | resize(qsizetype tamaño) |
| void | resize(qsizetype newSize, QChar fillChar) |
(since 6.8) void | resizeForOverwrite(qsizetype tamaño) |
| QString | right(qsizetype n) && |
| QString | right(qsizetype n) const & |
| QString | rightJustified(qsizetype width, QChar fill = u' ', bool truncate = false) const |
| QString | section(QChar sep, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const |
| QString | section(const QRegularExpression &re, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const |
| QString | section(const QString &sep, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const |
| QString & | setNum(int n, int base = 10) |
| QString & | setNum(long n, int base = 10) |
| QString & | setNum(qlonglong n, int base = 10) |
| QString & | setNum(qulonglong n, int base = 10) |
| QString & | setNum(short n, int base = 10) |
| QString & | setNum(uint n, int base = 10) |
| QString & | setNum(ulong n, int base = 10) |
| QString & | setNum(ushort n, int base = 10) |
| QString & | setNum(double n, char format = 'g', int precision = 6) |
| QString & | setNum(float n, formato char = 'g', precisión int = 6) |
| QString & | setRawData(const QChar *unicode, qsizetype size) |
| QString & | setUnicode(const QChar *unicode, qsizetype tamaño) |
(since 6.9) QString & | setUnicode(const char16_t *unicode, qsizetype tamaño) |
(since 6.9) QString & | setUtf16(const char16_t *unicode, qsizetype tamaño) |
| void | shrink_to_fit() |
| QString | simplified() const |
| qsizetype | size() const |
(since 6.8) QString & | slice(qsizetype pos, qsizetype n) |
(since 6.8) QString & | slice(qsizetype pos) |
(since 6.0) QString | sliced(qsizetype pos, qsizetype n) && |
(since 6.0) QString | sliced(qsizetype pos, qsizetype n) const & |
(since 6.0) QString | sliced(qsizetype pos) && |
(since 6.0) QString | sliced(qsizetype pos) const & |
| QStringList | split(const QString &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QStringList | split(const QRegularExpression &re, Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const |
| QStringList | split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| void | squeeze() |
| bool | startsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | startsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | startsWith(QLatin1StringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| void | swap(QString &other) |
| CFStringRef | toCFString() const |
| QString | toCaseFolded() const |
| doble | toDouble(bool *ok = nullptr) const |
(since 6.6) emscripten::val | toEcmaString() const |
| float | toFloat(bool *ok = nullptr) const |
| QString | toHtmlEscaped() const |
| int | toInt(bool *ok = nullptr, int base = 10) const |
| QByteArray | toLatin1() const |
| QByteArray | toLocal8Bit() const |
| long | toLong(bool *ok = nullptr, int base = 10) const |
| qlonglong | toLongLong(bool *ok = nullptr, int base = 10) const |
| QString | toLower() const |
| NSString * | toNSString() const |
| short | toShort(bool *ok = nullptr, int base = 10) const |
| std::cadena | toStdString() const |
| std::u16cadena | toStdU16String() const |
| std::u32cadena | toStdU32String() const |
| std::wstring | toStdWString() const |
| uint | toUInt(bool *ok = nullptr, int base = 10) const |
| ulong | toULong(bool *ok = nullptr, int base = 10) const |
| qulonglong | toULongLong(bool *ok = nullptr, int base = 10) const |
| ushort | toUShort(bool *ok = nullptr, int base = 10) const |
| QLista<uint> | toUcs4() const |
| QString | toUpper() const |
| QByteArray | toUtf8() const |
| qsizetype | toWCharArray(wchar_t *array) const |
(since 6.0) auto | tokenize(Aguja &&sep, Banderas... banderas) && |
(since 6.0) auto | tokenize(Needle &&sep, Flags... flags) const && |
(since 6.0) auto | tokenize(Needle &&sep, Flags... flags) const & |
| QString | trimmed() const |
| void | truncate(qsizetype posición) |
| const QChar * | unicode() const |
| const ushort * | utf16() const |
(since 6.7) | operator std::u16string_view() const |
| QString & | operator+=(const QString &other) |
| QString & | operator+=(QChar ch) |
| QString & | operator+=(QLatin1StringView str) |
(since 6.0) QString & | operator+=(QStringView str) |
(since 6.5) QString & | operator+=(QUtf8StringView cadena) |
| QString & | operator+=(const QByteArray &ba) |
| QString & | operator+=(const char *str) |
| QString & | operator=(QString &&otros) |
| QString & | operator=(const QString &other) |
| QString & | operator=(QChar ch) |
| QString & | operator=(QLatin1StringView str) |
| QString & | operator=(const QByteArray &ba) |
| QString & | operator=(const char *str) |
| QChar & | operator[](qsizetype position) |
| const QChar | operator[](qsizetype position) const |
Miembros públicos estáticos
| QString | asprintf(const char *cformat, ...) |
| int | compare(const QString &s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| int | compare(QLatin1StringView s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| int | compare(QStringView s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| int | compare(const QString &s1, QLatin1StringView s2, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| int | compare(const QString &s1, QStringView s2, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QString | fromCFString(CFStringRef cadena) |
(since 6.6) QString | fromEcmaString(emscripten::val jsString) |
| QString | fromLatin1(const char *str, qsizetype size) |
(since 6.0) QString | fromLatin1(QByteArrayView str) |
| QString | fromLatin1(const QByteArray &str) |
| QString | fromLocal8Bit(const char *str, qsizetype size) |
(since 6.0) QString | fromLocal8Bit(QByteArrayView str) |
| QString | fromLocal8Bit(const QByteArray &str) |
| QString | fromNSString(const NSString *string) |
(since 6.10) QString | fromRawData(const char16_t *unicode, qsizetype size) |
| QString | fromRawData(const QChar *unicode, qsizetype tamaño) |
| QString | fromStdString(const std::string &str) |
| QString | fromStdU16String(const std::u16string &str) |
| QString | fromStdU32String(const std::u32string &str) |
| QString | fromStdWString(const std::wstring &str) |
| QString | fromUcs4(const char32_t *unicode, qsizetype tamaño = -1) |
| QString | fromUtf8(const char *str, qsizetype tamaño) |
(since 6.0) QString | fromUtf8(QByteArrayView str) |
| QString | fromUtf8(const QByteArray &str) |
(since 6.1) QString | fromUtf8(const char8_t *str) |
(since 6.0) QString | fromUtf8(const char8_t *str, qsizetype size) |
| QString | fromUtf16(const char16_t *unicode, qsizetype tamaño = -1) |
| QString | fromWCharArray(const wchar_t *string, qsizetype tamaño = -1) |
| int | localeAwareCompare(const QString &s1, const QString &s2) |
(since 6.0) int | localeAwareCompare(QStringView s1, QStringView s2) |
(since 6.8) qsizetype | maxSize() |
| QString | number(long n, int base = 10) |
| QString | number(double n, char format = 'g', int precision = 6) |
| QString | number(int n, int base = 10) |
| QString | number(qlonglong n, int base = 10) |
| QString | number(qulonglong n, int base = 10) |
| QString | number(uint n, int base = 10) |
| QString | number(ulong n, int base = 10) |
| QString | vasprintf(const char *cformat, va_list ap) |
No miembros relacionados
(since 6.1) qsizetype | erase(QString &s, const T &t) |
(since 6.1) qsizetype | erase_if(QString &s, Predicate pred) |
| bool | operator!=(const QByteArray &lhs, const QString &rhs) |
| bool | operator!=(const QString &lhs, const QString &rhs) |
| bool | operator!=(const char *const &lhs, const QString &rhs) |
| bool | operator!=(const QString &lhs, const QByteArray &rhs) |
| bool | operator!=(const QString &lhs, const QLatin1StringView &rhs) |
| bool | operator!=(const QString &lhs, const char *const &rhs) |
(since 6.4) QString | operator""_s(const char16_t *str, size_t size) |
| QString | operator+(QString &&s1, const QString &s2) |
(since 6.9) QString | operator+(QStringView lhs, const QString &rhs) |
(since 6.9) QString | operator+(const QString &lhs, QStringView rhs) |
| QString | operator+(const QString &s1, const QString &s2) |
| QString | operator+(const QString &s1, const char *s2) |
| QString | operator+(const char *s1, const QString &s2) |
| bool | operator<(const QByteArray &lhs, const QString &rhs) |
| bool | operator<(const char *const &lhs, const QString &rhs) |
| bool | operator<(const QLatin1StringView &lhs, const QString &rhs) |
| bool | operator<(const QString &lhs, const QByteArray &rhs) |
| bool | operator<(const QString &lhs, const QLatin1StringView &rhs) |
| bool | operator<(const QString &lhs, const QString &rhs) |
| bool | operator<(const QString &lhs, const char *const &rhs) |
| QDataStream & | operator<<(QDataStream &stream, const QString &string) |
| bool | operator<=(const QByteArray &lhs, const QString &rhs) |
| bool | operator<=(const QString &lhs, const QString &rhs) |
| bool | operator<=(const char *const &lhs, const QString &rhs) |
| bool | operator<=(const QLatin1StringView &lhs, const QString &rhs) |
| bool | operator<=(const QString &lhs, const QByteArray &rhs) |
| bool | operator<=(const QString &lhs, const QLatin1StringView &rhs) |
| bool | operator<=(const QString &lhs, const char *const &rhs) |
| bool | operator==(const QByteArray &lhs, const QString &rhs) |
| bool | operator==(const QLatin1StringView &lhs, const QString &rhs) |
| bool | operator==(const QString &lhs, const QByteArray &rhs) |
| bool | operator==(const QString &lhs, const QLatin1StringView &rhs) |
| bool | operator==(const QString &lhs, const QString &rhs) |
| bool | operator==(const QString &lhs, const char *const &rhs) |
| bool | operator==(const char *const &lhs, const QString &rhs) |
| bool | operator>(const QByteArray &lhs, const QString &rhs) |
| bool | operator>(const QString &lhs, const QString &rhs) |
| bool | operator>(const char *const &lhs, const QString &rhs) |
| bool | operator>(const QLatin1StringView &lhs, const QString &rhs) |
| bool | operator>(const QString &lhs, const QByteArray &rhs) |
| bool | operator>(const QString &lhs, const QLatin1StringView &rhs) |
| bool | operator>(const QString &lhs, const char *const &rhs) |
| bool | operator>=(const QByteArray &lhs, const QString &rhs) |
| bool | operator>=(const QString &lhs, const QString &rhs) |
| bool | operator>=(const char *const &lhs, const QString &rhs) |
| bool | operator>=(const QLatin1StringView &lhs, const QString &rhs) |
| bool | operator>=(const QString &lhs, const QByteArray &rhs) |
| bool | operator>=(const QString &lhs, const QLatin1StringView &rhs) |
| bool | operator>=(const QString &lhs, const char *const &rhs) |
| QDataStream & | operator>>(QDataStream &stream, QString &string) |
Macros
| QStringLiteral(str) | |
| QT_NO_CAST_FROM_ASCII | |
| QT_NO_CAST_TO_ASCII | |
| QT_RESTRICTED_CAST_FROM_ASCII | |
| const char * | qPrintable(const QString &str) |
| const wchar_t * | qUtf16Printable(const QString &str) |
| const char * | qUtf8Printable(const QString &str) |
Descripción detallada
QString almacena una cadena de 16 bits QChars, donde cada QChar corresponde a una unidad de código UTF-16. (Los caracteres Unicode con valores de código superiores a 65535 se almacenan utilizando pares sustitutos, es decir, dos QChars consecutivos).
Unicode es un estándar internacional compatible con la mayoría de los sistemas de escritura que se utilizan hoy en día. Es un superconjunto de US-ASCII (ANSI X3.4-1986) y Latin-1 (ISO 8859-1), y todos los caracteres US-ASCII/Latin-1 están disponibles en las mismas posiciones de código.
Entre bastidores, QString utiliza la compartición implícita (copy-on-write) para reducir el uso de memoria y evitar la copia innecesaria de datos. Esto también ayuda a reducir la sobrecarga inherente al almacenamiento de caracteres de 16 bits en lugar de caracteres de 8 bits.
Además de QString, Qt también proporciona la clase QByteArray para almacenar bytes sin procesar y cadenas tradicionales de 8 bits '\0'-terminadas. Para la mayoría de los propósitos, QString es la clase que quieres usar. Se utiliza en toda la API de Qt, y el soporte Unicode asegura que sus aplicaciones sean fáciles de traducir si desea ampliar el mercado de su aplicación en algún momento. Dos casos destacados en los que QByteArray es apropiado son cuando necesitas almacenar datos binarios sin procesar, y cuando la conservación de memoria es crítica (como en los sistemas embebidos).
Inicializar una cadena
Una forma de inicializar una QString es pasar un const char * a su constructor. Por ejemplo, el siguiente código crea una QString de tamaño 5 que contiene los datos "Hola":
QString str = "Hello";
QString convierte los datos de const char * en Unicode utilizando la función fromUtf8().
En todas las funciones QString que toman parámetros const char *, const char * se interpreta como una cadena terminada clásica de estilo C '\\0'. Salvo que el nombre de la función indique abiertamente otra codificación, se asume que dichos parámetros const char * están codificados en UTF-8.
Desde Qt 6.4, también es posible inicializar QStrings usando los operadores literales Qt::Literals::StringLiterals::operator""_s() y Qt::Literals::StringLiterals::operator""_L1(). En muchos casos, usar los literales resulta en more efficient string construction.
También puede proporcionar datos de cadena como una matriz de QChars:
static const QChar data[4] = {QChar(0x0055), QChar(0x006e), QChar(0x10e3), QChar(0x03a3) }; QString str(data, 4);
QString hace una copia profunda de los datos de QChar, por lo que puede modificarlos más tarde sin experimentar efectos secundarios. Puede evitar realizar una copia profunda de los datos de caracteres utilizando QStringView o QString::fromRawData() en su lugar.
Otro enfoque es establecer el tamaño de la cadena utilizando resize() e inicializar los datos carácter por carácter. QString utiliza índices basados en 0, igual que las matrices de C++. Para acceder al carácter en una posición de índice particular, puedes usar operator[](). En cadenas que no seanconst, operator[]() devuelve una referencia a un carácter que puede utilizarse en el lado izquierdo de una asignación. Por ejemplo:
QString str; str.resize(4); str[0] = QChar('U'); str[1] = QChar('n'); str[2] = QChar(0x10e3); str[3] = QChar(0x03a3);
Para el acceso de sólo lectura, una sintaxis alternativa es utilizar la función at():
QString str;for (qsizetype i = 0; i < str.size(); ++i) { if (str.at(i) >= QChar('a') && str.at(i) <= QChar('f')) qDebug() << "Found character in range [a-f]"; }
La función at() puede ser más rápida que operator[]() porque nunca provoca una copia profunda. Como alternativa, utilice las funciones first(), last() o sliced() para extraer varios caracteres a la vez.
Una cadena QString puede incluir caracteres '\0' (QChar::Null). La función size() siempre devuelve el tamaño de toda la cadena, incluidos los caracteres '\0' incrustados.
Después de una llamada a la función resize(), los caracteres recién asignados tienen valores indefinidos. Para asignar a todos los caracteres de la cadena un valor determinado, utilice la función fill().
QString proporciona docenas de sobrecargas diseñadas para simplificar el uso de cadenas. Por ejemplo, si quieres comparar un QString con un literal de cadena, puedes escribir código como este y funcionará como se espera:
QString str; if (str == "auto" || str == "extern" || str == "static" || str == "register") { // ... }
También puedes pasar literales de cadena a funciones que toman QStrings como argumentos, invocando al constructor QString(const char *). De forma similar, puede pasar una QString a una función que tome un argumento const char * utilizando la macro qPrintable(), que devuelve la QString dada como const char *. Esto equivale a llamar a toLocal8Bit().constData() sobre la QString.
Manipulación de datos de cadena
QString proporciona las siguientes funciones básicas para modificar los datos de caracteres: append(), prepend(), insert(), replace(), y remove(). Por ejemplo:
QString str = "and"; str.prepend("rock "); // str == "rock and" str.append(" roll"); // str == "rock and roll" str.replace(5, 3, "&"); // str == "rock & roll"
En el ejemplo anterior, los dos primeros argumentos de la función replace() son la posición desde la que empezar a reemplazar y el número de caracteres que deben reemplazarse.
Cuando las funciones de modificación de datos aumentan el tamaño de la cadena, QString puede reasignar la memoria en la que almacena sus datos. Cuando esto ocurre, QString se expande más de lo que necesita inmediatamente para tener espacio para futuras expansiones sin reasignación hasta que el tamaño de la cadena haya aumentado significativamente.
Las funciones insert(), remove() y, cuando se reemplaza una subcadena por otra de diferente tamaño, replace() pueden ser lentas(tiempo lineal) para cadenas grandes porque requieren mover muchos caracteres de la cadena al menos una posición en memoria.
Si estás construyendo una QString gradualmente y sabes de antemano aproximadamente cuántos caracteres contendrá la QString, puedes llamar a reserve(), pidiendo a QString que preasigne una cierta cantidad de memoria. También puede llamar a capacity() para averiguar cuánta memoria tiene realmente asignada QString.
QString proporciona iteradores de estilo STL (QString::const_iterator y QString::iterator). En la práctica, los iteradores son útiles cuando se trabaja con algoritmos genéricos proporcionados por la biblioteca estándar de C++.
Nota: No se puede confiar en que los iteradores sobre un QString, y las referencias a caracteres individuales dentro de uno, sigan siendo válidos cuando se llame a cualquier método noconst del QString. Acceder a dicho iterador o referencia después de la llamada a un método que no seaconst conduce a un comportamiento indefinido. Cuando se requiera estabilidad para una funcionalidad similar a la de los iteradores, deberías usar índices en lugar de iteradores, ya que no están ligados al estado interno de QString y por tanto no se invalidan.
Nota: Debido a la compartición implícita, el primer operador o función que no seaconst utilizado en un QString dado puede hacer que realice internamente una copia profunda de sus datos. Esto invalida todos los iteradores sobre la cadena y las referencias a caracteres individuales dentro de ella. No llame a funciones no-const mientras mantenga iteradores. Acceder a un iterador o referencia después de que haya sido invalidado conduce a un comportamiento indefinido. Consulte la sección Problema del iterador de compartición implícita para obtener más información.
Un requisito frecuente es eliminar o simplificar el espaciado entre caracteres visibles en una cadena. Los caracteres que forman ese espaciado son aquellos para los que isSpace() devuelve true, como el espacio simple ' ', el tabulador horizontal '\\t' y la nueva línea '\\n'. Para obtener una copia de una cadena dejando fuera cualquier espaciado desde su inicio y final, utilice trimmed(). Para sustituir también cada secuencia de caracteres de espaciado dentro de la cadena por un espacio simple, ' ', utilice simplified().
Si desea encontrar todas las apariciones de un determinado carácter o subcadena en una cadena QString, utilice las funciones indexOf() o lastIndexOf(). La primera busca hacia delante, la segunda hacia atrás. A ambas se les puede indicar una posición índice a partir de la cual iniciar la búsqueda. Cada una devuelve la posición del índice del carácter o subcadena si lo encuentra; en caso contrario, devuelve -1. Por ejemplo, éste es un bucle típico que busca todas las apariciones de una determinada subcadena:
QString str = "Hay que ser <b>negrita</b>, muy <b>negrita</b>"; qsizetype j = 0;while ((j = str.indexOf("<b>", j)) !=-1) { qDebug() << "Found <b> tag at index position" << j; ++j; }
QString proporciona muchas funciones para convertir números en cadenas y cadenas en números. Véanse las funciones arg(), las funciones setNum(), las funciones estáticas number(), y las funciones toInt(), toDouble() y similares.
Para obtener una versión en mayúsculas o minúsculas de una cadena, utilice toUpper() o toLower().
Las listas de cadenas se gestionan con la clase QStringList. Puede dividir una cadena en una lista de cadenas utilizando la función split(), y unir una lista de cadenas en una sola cadena con un separador opcional utilizando QStringList::join(). Puede obtener una lista filtrada a partir de una lista de cadenas seleccionando las entradas de la misma que contengan una determinada subcadena o coincidan con un QRegularExpression concreto. Consulte QStringList::filter() para obtener más información.
Consulta de datos de cadena
Para ver si una cadena QString comienza o termina con una subcadena determinada, utilice startsWith() o endsWith(). Para comprobar si una cadena QString contiene un carácter o subcadena concretos, utilice la función contains(). Para saber cuántas veces aparece un determinado carácter o subcadena en una cadena, utilice count().
Para obtener un puntero a los datos de caracteres reales, llame a data() o constData(). Estas funciones devuelven un puntero al principio de los datos de QChar. Se garantiza que el puntero seguirá siendo válido hasta que se llame a una función distinta deconst en la cadena QString.
Comparación de cadenas
Las cadenas QStrings pueden compararse mediante operadores sobrecargados como operator<(), operator<=(), operator==(), operator>=(), etcétera. La comparación se basa exclusivamente en el orden lexicográfico de las dos cadenas, vistas como secuencias de unidades de código UTF-16. Es muy rápida, pero no es lo que esperaría un humano; la función QString::localeAwareCompare() suele ser una mejor opción para ordenar cadenas de interfaz de usuario, cuando se dispone de este tipo de comparación.
Cuando Qt está enlazado con la biblioteca ICU (como suele ser el caso), se utiliza su ordenación local. En caso contrario, se utilizan soluciones específicas de la plataforma:
- En Windows, localeAwareCompare() utiliza la configuración regional actual del usuario, tal y como se establece en las opciones regional y language de Control Panel.
- En macOS e iOS, localeAwareCompare() compara según la configuración de Order for sorted lists en el panel International preferences.
- En otros sistemas tipo Unix, la comparación se basa en la biblioteca del sistema
strcoll().
Conversión entre datos de cadena codificados y QString
QString proporciona las siguientes funciones que devuelven una versión const char * de la cadena como QByteArray: toUtf8(), toLatin1(), y toLocal8Bit().
- toLatin1() devuelve una cadena de 8 bits codificada en Latin-1 (ISO 8859-1).
- toUtf8() devuelve una cadena de 8 bits codificada en UTF-8. UTF-8 es un superconjunto de US-ASCII (ANSI X3.4-1986) que admite todo el conjunto de caracteres Unicode mediante secuencias multibyte.
- toLocal8Bit() devuelve una cadena de 8 bits utilizando la codificación local del sistema. Es lo mismo que toUtf8() en los sistemas Unix.
Para convertir desde una de estas codificaciones, QString proporciona fromLatin1(), fromUtf8(), y fromLocal8Bit(). Otras codificaciones son soportadas a través de las clases QStringEncoder y QStringDecoder.
Como se mencionó anteriormente, QString proporciona un montón de funciones y operadores que facilitan la interoperabilidad con const char * strings. Pero esta funcionalidad es un arma de doble filo: hace que QString sea más cómodo de usar si todas las cadenas son US-ASCII o Latin-1, pero siempre existe el riesgo de que se realice una conversión implícita desde o hacia const char * utilizando la codificación de 8 bits incorrecta. Para minimizar estos riesgos, puedes desactivar estas conversiones implícitas definiendo algunos de los siguientes símbolos de preprocesador:
- QT_NO_CAST_FROM_ASCII desactiva las conversiones automáticas de literales de cadena C y punteros a Unicode.
- QT_RESTRICTED_CAST_FROM_ASCII permite las conversiones automáticas de caracteres C y matrices de caracteres, pero desactiva las conversiones automáticas de punteros de caracteres a Unicode.
- QT_NO_CAST_TO_ASCII desactiva la conversión automática de QString a cadenas C.
En ese caso, es necesario llamar explícitamente a fromUtf8(), fromLatin1() o fromLocal8Bit() para construir una QString a partir de una cadena de 8 bits, o utilizar la clase ligera QLatin1StringView. Por ejemplo:
// Required for using the '_L1' string literal. using namespace Qt::StringLiterals; // ... QString url = "https://www.unicode.org/"_L1;
Del mismo modo, debe llamar explícitamente a toLatin1(), toUtf8(), o toLocal8Bit() para convertir la QString en una cadena de 8 bits.
| Nota para programadores C |
|---|
Debido al sistema de tipos de C++ y al hecho de que QString se comparte implícitamente, QStrings puede tratarse como ints u otros tipos básicos. Por ejemplo:QString Widget::boolToString(bool b) { QString result; if (b) result = "True"; else result = "False"; return result; } La variable |
Distinción entre cadenas nulas y vacías
Por razones históricas, QString distingue entre cadenas nulas y vacías. Una cadena nula es una cadena que se inicializa utilizando el constructor por defecto de QString o pasando nullptr al constructor. Una cadena vacía es cualquier cadena con tamaño 0. Una cadena nula siempre está vacía, pero una cadena vacía no es necesariamente nula:
QString().isNull(); // returns true QString().isEmpty(); // returns true QString("").isNull(); // returns false QString("").isEmpty(); // returns true QString("abc").isNull(); // returns false QString("abc").isEmpty(); // returns false
Todas las funciones excepto isNull() tratan las cadenas nulas como cadenas vacías. Por ejemplo, toUtf8().constData() devuelve un puntero válido (no nullptr) a un carácter '\0' para una cadena nula. Le recomendamos que utilice siempre la función isEmpty() y evite isNull().
Formatos numéricos
Cuando un especificador de formato QString::arg() '%' incluye el calificador de configuración regional 'L', y la base es diez (su valor por defecto), se utiliza la configuración regional por defecto. Esto puede establecerse utilizando QLocale::setDefault(). Para un control más refinado de las representaciones localizadas de cadenas de números, véase QLocale::toString(). Todos los demás formatos numéricos realizados por QString siguen la representación local de números de C.
Cuando QString::arg() aplica un relleno a la izquierda a los números, el carácter de relleno '0' recibe un tratamiento especial. Si el número es negativo, su signo menos aparece antes del relleno cero. Si el campo está localizado, se utiliza el carácter cero apropiado para la localización en lugar de '0'. Para los números de coma flotante, este tratamiento especial sólo se aplica si el número es finito.
Formatos de coma flotante
En las funciones miembro (por ejemplo, arg() y number()) que formatean números en coma flotante (float o double) como cadenas, la representación utilizada puede controlarse mediante la elección del formato y la precisión, cuyos significados son los mismos que para QLocale::toString(double, char, int).
Si el formato seleccionado incluye un exponente, las formas localizadas siguen la convención de la configuración regional sobre los dígitos del exponente. Para los formatos no localizados, el exponente muestra su signo e incluye al menos dos dígitos, rellenando con cero a la izquierda si es necesario.
Construcción de cadenas más eficaz
Muchas cadenas se conocen en tiempo de compilación. El constructor QString de literales de cadena de C++ copiará el contenido de la cadena, tratando el contenido como UTF-8. Esto requiere asignar memoria y recodificar los datos de la cadena, operaciones que ocurrirán en tiempo de ejecución. Si los datos de la cadena son conocidos en tiempo de compilación, puede utilizar la macro QStringLiteral o similarmente operator""_s para crear la carga útil de QString en tiempo de compilación en su lugar.
Usando el operador QString '+', es fácil construir una cadena compleja a partir de múltiples subcadenas. A menudo escribirás código como este:
// Required for using the '_L1' string literal. using namespace Qt::StringLiterals; // ... QString foo; QString type = "long"; foo = "vector<"_L1 + type + ">::iterator"_L1; if (foo.startsWith("(" + type + ") 0x")) ...
No hay nada malo con ninguna de estas construcciones de cadena, pero hay algunas ineficiencias ocultas:
En primer lugar, el uso repetido del operador '+' puede llevar a múltiples asignaciones de memoria. Al concatenar n subcadenas, donde n > 2, puede haber hasta n - 1 llamadas al asignador de memoria.
Estas asignaciones pueden optimizarse mediante una clase interna QStringBuilder. Esta clase está marcada como interna y no aparece en la documentación, porque no se pretende que la instancies en tu código. Su uso será automático, como se describe a continuación.
QStringBuilder utiliza plantillas de expresión y reimplementa el operador '%' de forma que cuando se utiliza '%' para la concatenación de cadenas en lugar de '+', las concatenaciones múltiples de subcadenas se pospondrán hasta que el resultado final esté a punto de ser asignado a un QString. En este punto, se conoce la cantidad de memoria necesaria para el resultado final. Entonces se llama una vez al asignador de memoria para obtener el espacio necesario, y las subcadenas se copian en él una a una.
Se gana eficiencia adicional mediante el inlining y la reducción del recuento de referencias (el QString creado a partir de un QStringBuilder tiene un recuento de referencias de 1, mientras que QString::append() necesita una prueba extra).
Hay dos formas de acceder a este método mejorado de construcción de cadenas. La forma directa es incluir QStringBuilder donde quieras usarlo y usar el operador '%' en lugar de '+' cuando concatenes cadenas:
#include <QStringBuilder> QString hello("hello"); QStringView el = QStringView{ hello }.sliced(2, 3); QString message = hello % el % "world"_L1 % QChar('!');
Un enfoque más global, que es más conveniente pero no totalmente compatible con el código fuente, es definir QT_USE_QSTRINGBUILDER (añadiéndolo a las banderas del compilador) en tiempo de compilación. Esto hará que concatenar cadenas con '+' funcione de la misma manera que QStringBuilder's '%' .
Nota: Usando la deducción automática de tipo (por ejemplo, usando la palabra clave auto ) con el resultado de la concatenación de cadenas cuando QStringBuilder está habilitado mostrará que la concatenación es efectivamente un objeto de una especialización QStringBuilder:
QString str("QStringBuilder"); // "s" type is deduced as QStringBuilder<...> auto s = "Like hot glue, " % str % " concatenates strings"; // Similarly the return type of this lambda is deduced as QStringBuilder<...> auto concatenateStr = []() { return "Like hot glue, " % str % " concatenates strings"; };
Esto no causa ningún daño, ya que QStringBuilder convertirá implícitamente a QString cuando sea necesario. Si esto no es deseable, entonces uno debería especificar los tipos necesarios en lugar de hacer que el compilador los deduzca:
QString s = "Like hot glue, " % str % " concatenates strings"; // With a lambda, specify a trailing return type: auto concatenateStr = []() -> QString { return "Like hot glue, " % str % " concatenates strings"; };
Tamaño máximo y condiciones de fuera de memoria
El tamaño máximo de QString depende de la arquitectura. La mayoría de los sistemas de 64 bits pueden asignar más de 2 GB de memoria, con un límite típico de 2^63 bytes. El valor real también depende de la sobrecarga necesaria para gestionar el bloque de datos. Como resultado, se puede esperar un tamaño máximo de 2 GB menos la sobrecarga en plataformas de 32 bits y de 2^63 bytes menos la sobrecarga en plataformas de 64 bits. El número de elementos que se pueden almacenar en una QString es este tamaño máximo dividido por el tamaño de QChar.
Cuando falla la asignación de memoria, QString lanza una excepción std::bad_alloc si la aplicación se compiló con soporte para excepciones. Las condiciones de falta de memoria en los contenedores Qt son los únicos casos en los que Qt lanzará excepciones. Si las excepciones están deshabilitadas, entonces quedarse sin memoria es un comportamiento indefinido.
Nota: Los sistemas operativos de destino pueden imponer límites en la cantidad de memoria que una aplicación puede asignar, en total, o en el tamaño de las asignaciones individuales. Esto puede restringir aún más el tamaño de cadena que puede contener un QString. Mitigar o controlar el comportamiento que estos límites causan está más allá del alcance de la API de Qt.
Ver también ¿Qué clase de cadena usar?, fromRawData(), QChar, QStringView, QLatin1StringView, y QByteArray.
Documentación de tipos de miembros
QString::ConstIterator
Qt-style sinónimo de QString::const_iterator.
QString::Iterator
Qt-style sinónimo de QString::iterator.
enum QString::NormalizationForm
Este enum describe las distintas formas normalizadas de texto Unicode.
| Constante | Valor | Descripción |
|---|---|---|
QString::NormalizationForm_D | 0 | Descomposición canónica |
QString::NormalizationForm_C | 1 | Descomposición canónica seguida de composición canónica |
QString::NormalizationForm_KD | 2 | Descomposición de compatibilidad |
QString::NormalizationForm_KC | 3 | Descomposición de compatibilidad seguida de composición canónica |
Véase también normalized() y Unicode Standard Annex #15.
enum QString::SectionFlag
flags QString::SectionFlags
Este enum especifica banderas que pueden utilizarse para afectar a varios aspectos del comportamiento de la función section() con respecto a separadores y campos vacíos.
| Constante | Valor | Descripción |
|---|---|---|
QString::SectionDefault | 0x00 | Se cuentan los campos vacíos, no se incluyen los separadores iniciales y finales, y el separador se compara teniendo en cuenta mayúsculas y minúsculas. |
QString::SectionSkipEmpty | 0x01 | Tratar los campos vacíos como si no existieran, es decir, no se tienen en cuenta en lo que respecta al inicio y al final. |
QString::SectionIncludeLeadingSep | 0x02 | Incluir el separador inicial (si existe) en la cadena resultante. |
QString::SectionIncludeTrailingSep | 0x04 | Incluir el separador final (si existe) en la cadena de resultados. |
QString::SectionCaseInsensitiveSeps | 0x08 | Comparar el separador sin tener en cuenta mayúsculas y minúsculas. |
El tipo SectionFlags es un typedef para QFlags<SectionFlag>. Almacena una combinación OR de valores SectionFlag.
Véase también section().
QString::const_iterator
Véase también QString::iterator.
QString::const_pointer
El typedef QString::const_pointer proporciona un puntero constante estilo STL a un elemento QString (QChar).
QString::const_reference
QString::const_reverse_iterator
Véase también QString::reverse_iterator y QString::const_iterator.
QString::difference_type
QString::iterator
Véase también QString::const_iterator.
QString::pointer
El tippedef QString::pointer proporciona un puntero de estilo STL a un elemento QString (QChar).
QString::reference
QString::reverse_iterator
Véase también QString::const_reverse_iterator y QString::iterator.
QString::size_type
QString::value_type
Documentación de las funciones miembro
[constexpr noexcept] QString::QString()
Construye una cadena nula. Las cadenas nulas también se consideran vacías.
Véase también isEmpty(), isNull() y Distinction Between Null and Empty Strings.
QString::QString(QChar ch)
Construye una cadena de tamaño 1 que contiene el carácter ch.
QString::QString(QLatin1StringView str)
Construye una copia de la cadena Latin-1 vista por str.
Véase también fromLatin1().
[explicit, since 6.8] QString::QString(QStringView sv)
Construye una cadena inicializada con los datos de la vista string.
El QString será null si y sólo si sv es null.
Esta función se introdujo en Qt 6.8.
Véase también fromUtf16().
QString::QString(const QByteArray &ba)
Construye una cadena inicializada con la matriz de bytes ba. La matriz de bytes dada se convierte a Unicode utilizando fromUtf8().
Puede desactivar este constructor definiendo QT_NO_CAST_FROM_ASCII cuando compile sus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Nota: Cualquier byte nulo ('\0') en la matriz de bytes se incluirá en esta cadena, convertido a caracteres nulos Unicode (U+0000). Este comportamiento es diferente al de Qt 5.x.
Véase también fromLatin1(), fromLocal8Bit(), y fromUtf8().
QString::QString(const char *str)
Construye una cadena inicializada con la cadena de 8 bits str. El puntero const char dado se convierte a Unicode utilizando la función fromUtf8().
Puede desactivar este constructor definiendo QT_NO_CAST_FROM_ASCII cuando compile sus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Nota: Definir QT_RESTRICTED_CAST_FROM_ASCII también desactiva este constructor, pero habilita un constructor QString(const char (&ch)[N]) en su lugar. El uso de entradas no literales, o entradas con caracteres NUL incrustados, o caracteres que no sean de 7 bits no está definido en este caso.
Véase también fromLatin1(), fromLocal8Bit(), y fromUtf8().
[since 6.1] QString::QString(const char8_t *str)
Construye una cadena inicializada con la cadena UTF-8 str. El puntero const char8_t dado se convierte a Unicode utilizando la función fromUtf8().
Esta función se introdujo en Qt 6.1.
Véase también fromLatin1(), fromLocal8Bit() y fromUtf8().
[explicit] QString::QString(const QChar *unicode, qsizetype size = -1)
Construye una cadena inicializada con los primeros size caracteres de la matriz QChar unicode .
Si unicode es 0, se construye una cadena nula.
Si size es negativo, se supone que unicode apunta a una matriz '\0'terminada y su longitud se determina dinámicamente. El carácter nulo de terminación no se considera parte de la cadena.
QString realiza una copia profunda de los datos de la cadena. Los datos unicode se copian tal cual y la marca de orden de bytes se conserva si está presente.
Véase también fromRawData().
QString::QString(qsizetype size, QChar ch)
Construye una cadena del tipo size con todos los caracteres ajustados a ch.
Véase también fill().
[noexcept] QString::QString(const QString &other)
Construye una copia de other.
Esta operación toma un tiempo constante, porque QString es implícitamente compartido. Esto hace que devolver un QString desde una función sea muy rápido. Si una instancia compartida es modificada, será copiada (copy-on-write), y eso toma tiempo lineal.
Véase también operator=().
[noexcept] QString::QString(QString &&other)
Move-construye una instancia de QString, haciendo que apunte al mismo objeto al que apuntaba other.
[noexcept] QString::~QString()
Destruye la cadena.
QString &QString::append(const QString &str)
Añade la cadena str al final de esta cadena.
Ejemplo:
Esto es lo mismo que usar la función insert():
x.insert(x.size(), y);
La función append() es típicamente muy rápida(tiempo constante), porque QString preasigna espacio extra al final de los datos de la cadena para que pueda crecer sin reasignar toda la cadena cada vez.
Véase también operator+=(), prepend(), y insert().
QString &QString::append(QChar ch)
Añade el carácter ch a esta cadena.
Esta función sobrecarga QString::append().
QString &QString::append(QLatin1StringView str)
Añade la cadena Latin-1 vista por str a esta cadena.
Esta función sobrecarga QString::append().
[since 6.0] QString &QString::append(QStringView v)
Añade la vista de cadena v a esta cadena y devuelve el resultado.
Esta función sobrecarga QString::append().
Esta función se introdujo en Qt 6.0.
[since 6.5] QString &QString::append(QUtf8StringView str)
Añade la vista de cadena UTF-8 str a esta cadena.
Esta función sobrecarga QString::append().
Esta función se introdujo en Qt 6.5.
QString &QString::append(const QByteArray &ba)
Añade la matriz de bytes ba a esta cadena. La matriz de bytes dada se convierte a Unicode utilizando la función fromUtf8().
Puedes desactivar esta función definiendo QT_NO_CAST_FROM_ASCII cuando compiles tus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Esta función sobrecarga QString::append().
QString &QString::append(const char *str)
Añade la cadena str a esta cadena. El puntero const char dado se convierte a Unicode utilizando la función fromUtf8().
Puede desactivar esta función definiendo QT_NO_CAST_FROM_ASCII cuando compile sus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Esta función sobrecarga QString::append().
QString &QString::append(const QChar *str, qsizetype len)
Añade len caracteres de la matriz QChar str a esta cadena.
Esta función sobrecarga QString::append().
template <typename... Args> QString QString::arg(Args &&... args) const
Sustituye las apariciones de %N en esta cadena por el argumento correspondiente de args. Los argumentos no son posicionales: el primero de los args sustituye al %N por el N más bajo (todos ellos), el segundo de los args al %N por el N inmediatamente inferior, etc.
Args puede consistir en cualquier cosa que implícitamente se convierta a QAnyStringView.
Nota: En versiones de Qt anteriores a la 6.9, QAnyStringView y las cadenas UTF-8 (QUtf8StringView, QByteArray, QByteArrayView, const char8_t*, etc) no se admitían como args.
Véase también QString::arg().
template <typename T, QString::if_string_like<T> = true> QString QString::arg(const T &a, int fieldWidth = 0, QChar fillChar = u' ') const
Devuelve una copia de esta cadena con el marcador de posición de menor número sustituido por la cadena a, es decir, %1, %2, ..., %99.
fieldWidth especifica la cantidad mínima de espacio que debe ocupar a. Si a requiere menos espacio que fieldWidth, se rellena hasta fieldWidth con el carácter fillChar. Un fieldWidth positivo produce texto alineado a la derecha. Un fieldWidth negativo produce texto alineado a la izquierda.
Este ejemplo muestra cómo podríamos crear una cadena status para informar del progreso mientras se procesa una lista de archivos:
int i; // current file's number int total; // number of files to process QStringView fileName; // current file's name QString status = QString("Processing file %1 of %2: %3") .arg(i).arg(total).arg(fileName);
En primer lugar, arg(i) sustituye a %1. A continuación, arg(total) sustituye a %2. Por último, arg(fileName) sustituye a %3.
Una ventaja de usar arg() sobre asprintf() es que el orden de los marcadores de posición numerados puede cambiar, si las cadenas de la aplicación se traducen a otros idiomas, pero cada arg() seguirá reemplazando al marcador de posición no reemplazado de menor número, sin importar dónde aparezca. Además, si el marcador de posición %i aparece más de una vez en la cadena, arg() los sustituye todos.
Si no queda ningún marcador de posición sin sustituir, se imprime un mensaje de advertencia y el resultado es indefinido. Los números de los marcadores de posición deben estar comprendidos entre 1 y 99.
Nota: En las versiones de Qt anteriores a la 6.9, esta función estaba sobrecargada en char, QChar, QString, QStringView, y QLatin1StringView y, en algunos casos, los argumentos wchar_t y char16_t se resolvían en las sobrecargas de enteros. En las versiones de Qt anteriores a la 5.10, esta función carecía de las sobrecargas QStringView y QLatin1StringView.
template <typename T, QString::if_integral_non_char<T> = true> QString QString::arg(T a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const
El argumento a se expresa en base base, que es 10 por defecto y debe estar comprendido entre 2 y 36. Para bases distintas de 10, a se trata como un entero sin signo.
fieldWidth especifica la cantidad mínima de espacio que a se rellena con el carácter fillChar. Un valor positivo produce texto alineado a la derecha; un valor negativo produce texto alineado a la izquierda.
El '%' puede ir seguido de una 'L', en cuyo caso la secuencia se sustituye por una representación localizada de a. La conversión utiliza la configuración regional por defecto, establecida por QLocale::setDefault(). Si no se especifica ninguna configuración regional por defecto, se utiliza la configuración regional del sistema. La bandera 'L' se ignora si base no es 10.
QString str; str = QString("Decimal 63 is %1 in hexadecimal") .arg(63, 0, 16); // str == "Decimal 63 is 3f in hexadecimal" QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates)); str = QString("%1 %L2 %L3") .arg(12345) .arg(12345) .arg(12345, 0, 16); // str == "12345 12,345 3039"
Nota: En versiones de Qt anteriores a la 6.10.1, esta función aceptaba argumentos de tipos que se convertían implícitamente a tipos integrales. Esto ya no está soportado, excepto para los enums (unscoped), porque también aceptaba tipos convertibles a tipos de coma flotante, perdiendo precisión cuando se imprimían como enteros. Una solución compatible con versiones anteriores es convertir dichos tipos a un tipo C++ cuya forma mostrada coincida con su intención (int, float, ...).
Nota: En versiones de Qt anteriores a la 6.9, esta función estaba sobrecargada en varios tipos integrales y a veces aceptaba incorrectamente argumentos de char y char16_t.
Esta función sobrecarga QString::arg().
Véase también Number formats.
template <typename T, QString::if_floating_point<T> = true> QString QString::arg(T a, int fieldWidth = 0, char format = 'g', int precision = -1, QChar fillChar = u' ') const
El argumento a se formatea de acuerdo con lo especificado en format y precision. Véase Floating-point Formats para más detalles.
fieldWidth especifica la cantidad mínima de espacio que a se rellena con el carácter fillChar. Un valor positivo produce texto alineado a la derecha; un valor negativo produce texto alineado a la izquierda.
double d = 12.34; QString str = QString("delta: %1").arg(d, 0, 'E', 3); // str == "delta: 1.234E+01"
Nota: En versiones de Qt anteriores a la 6.9, esta función era una función normal que tomaba double. Como consecuencia de ser ahora una función de plantilla, ya no acepta argumentos que simplemente conviertan implícitamente a tipos de coma flotante. Una solución compatible con versiones anteriores es convertir dichos tipos a uno de los tipos de punto flotante de C++.
Esta función sobrecarga QString::arg().
Véase también QLocale::toString(), QLocale::FloatingPointPrecisionOption, y Number formats.
[static] QString QString::asprintf(const char *cformat, ...)
Construye de forma segura una cadena formateada a partir de la cadena de formato cformat y una lista arbitraria de argumentos.
La cadena de formato admite los especificadores de conversión, los modificadores de longitud y los indicadores proporcionados por printf() en la biblioteca estándar de C++. La cadena cformat y los argumentos %s deben estar codificados en UTF-8.
Nota: La secuencia de escape %lc espera un carácter unicode de tipo char16_t (como el devuelto por QChar::unicode()), o ushort. La secuencia de escape %ls espera un puntero a una matriz de caracteres unicode de tipo char16_t, o ushort (como el devuelto por QString::utf16()). Esto no concuerda con printf() de la biblioteca estándar de C++, que define %lc para imprimir un wchar_t y %ls para imprimir un wchar_t*, y también podría producir advertencias del compilador en plataformas en las que el tamaño de wchar_t no sea de 16 bits.
Advertencia: No recomendamos usar QString::asprintf() en código Qt nuevo. En su lugar, considere el uso de QTextStream o arg(), ambos soportan cadenas Unicode sin problemas y son de tipo seguro. He aquí un ejemplo que utiliza QTextStream:
QString result; QTextStream(&result) << "pi = " << 3.14; // result == "pi = 3.14"
Para translations, especialmente si las cadenas contienen más de una secuencia de escape, debería considerar el uso de la función arg() en su lugar. Esto permite que el traductor controle el orden de las sustituciones.
Véase también arg().
[since 6.6] QString &QString::assign(QAnyStringView v)
Sustituye el contenido de esta cadena por una copia de v y devuelve una referencia a esta cadena.
El tamaño de esta cadena será igual al tamaño de v, convertido a UTF-16 como por v.toString(). Sin embargo, a diferencia de QAnyStringView::toString(), esta función sólo asigna memoria si el tamaño estimado excede la capacidad de esta cadena o si esta cadena es compartida.
Esta función se introdujo en Qt 6.6.
Véase también QAnyStringView::toString().
[since 6.6] template <typename InputIterator, QString::if_compatible_iterator<InputIterator> = true> QString &QString::assign(InputIterator first, InputIterator last)
Sustituye el contenido de esta cadena por una copia de los elementos del rango del iterador [first, last) y devuelve una referencia a esta cadena.
El tamaño de esta cadena será igual a la longitud decodificada de los elementos del rango [first, last), que no tiene por qué ser la misma que la longitud del propio rango, ya que esta función recodifica de forma transparente el conjunto de caracteres de entrada a UTF-16.
Esta función sólo asignará memoria si el número de elementos en el rango, o, para entrada no codificada a UTF-16, el tamaño máximo posible de la cadena resultante, excede la capacidad de esta cadena, o si esta cadena es compartida.
Nota: El comportamiento es indefinido si cualquiera de los argumentos es un iterador dentro de *this o [first, last) no es un rango válido.
Restricciones
Participa en la resolución de sobrecargas sólo si InputIterator cumple los requisitos de un LegacyInputIterator y el value_type de InputIterator es uno de los siguientes tipos de caracteres:
- QChar
- QLatin1Char
charunsigned charsigned charchar8_tchar16_t- (en plataformas, como Windows, donde es un tipo de 16 bits)
wchar_t char32_t
Esta función se introdujo en Qt 6.6.
[since 6.6] QString &QString::assign(qsizetype n, QChar c)
Sustituye el contenido de esta cadena por n copias de c y devuelve una referencia a esta cadena.
El tamaño de esta cadena será igual a n, que tiene que ser no negativo.
Esta función sólo asignará memoria si n excede la capacidad de esta cadena o si esta cadena es compartida.
Esta función se introdujo en Qt 6.6.
Véase también fill().
const QChar QString::at(qsizetype position) const
Devuelve el carácter en el índice dado position en la cadena.
position debe ser una posición de índice válida en la cadena (es decir, 0 <= position < size()).
Véase también operator[]().
QChar &QString::back()
Devuelve una referencia al último carácter de la cadena. Igual que operator[](size() - 1).
Esta función se proporciona por compatibilidad con STL.
Advertencia: Llamar a esta función en una cadena vacía constituye un comportamiento indefinido.
Véase también front(), at(), y operator[]().
QChar QString::back() const
Devuelve el último carácter de la cadena. Igual que at(size() - 1).
Esta función se proporciona por compatibilidad con STL.
Advertencia: Llamar a esta función en una cadena vacía constituye un comportamiento indefinido.
Véase también front(), at(), y operator[]().
QString::iterator QString::begin()
Devuelve un iterador de estilo STL que apunta al primer carácter de la cadena.
Advertencia: El iterador devuelto se invalida al separarse o cuando se modifica QString.
Véase también constBegin() y end().
QString::const_iterator QString::begin() const
Esta función sobrecarga QString::begin().
qsizetype QString::capacity() const
Devuelve el número máximo de caracteres que se pueden almacenar en la cadena sin forzar una reasignación.
El único propósito de esta función es proporcionar un medio para ajustar el uso de memoria de QString. En general, rara vez necesitará llamar a esta función. Si desea saber cuántos caracteres hay en la cadena, llame a size().
Nota: una cadena asignada estáticamente reportará una capacidad de 0, incluso si no está vacía.
Nota : la posición de espacio libre en el bloque de memoria asignado no está definida. En otras palabras, no se debe asumir que la memoria libre se encuentra siempre después de los elementos inicializados.
Véase también reserve() y squeeze().
QString::const_iterator QString::cbegin() const
Devuelve un iterador const de estilo STL que apunta al primer carácter de la cadena.
Advertencia: El iterador devuelto se invalida al separarse o cuando se modifica QString.
Véase también begin() y cend().
QString::const_iterator QString::cend() const
Devuelve un iterador const de estilo STL que apunta justo después del último carácter de la cadena.
Advertencia: El iterador devuelto se invalida al separarse o cuando se modifica QString.
Véase también cbegin() y end().
void QString::chop(qsizetype n)
Elimina n caracteres del final de la cadena.
Si n es mayor o igual que size(), el resultado es una cadena vacía; si n es negativo, equivale a pasar cero.
Ejemplo:
QString str("LOGOUT\r\n"); str.chop(2); // str == "LOGOUT"
Si desea eliminar caracteres del principio de la cadena, utilice remove() en su lugar.
Véase también truncate(), resize(), remove() y QStringView::chop().
Devuelve una cadena que contiene los size() - len caracteres más a la izquierda de esta cadena.
Nota: El comportamiento es indefinido si len es negativo o mayor que size().
Véase también endsWith(), first(), last(), sliced(), chop(), truncate() y slice().
void QString::clear()
Borra el contenido de la cadena y la hace nula.
Véase también resize() y isNull().
[static noexcept] int QString::compare(const QString &s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Compara la cadena s1 con la cadena s2 y devuelve un entero negativo si s1 es menor que s2, un entero positivo si es mayor que s2, y cero si son iguales.
Si cs es Qt::CaseSensitive (por defecto), la comparación distingue entre mayúsculas y minúsculas; en caso contrario, la comparación no distingue entre mayúsculas y minúsculas.
La comparación entre mayúsculas y minúsculas se basa exclusivamente en los valores numéricos Unicode de los caracteres y es muy rápida, pero no es lo que esperaría un humano. Considere la posibilidad de ordenar cadenas visibles para el usuario con localeAwareCompare().
int x = QString::compare("aUtO", "AuTo", Qt::CaseInsensitive); // x == 0 int y = QString::compare("auto", "Car", Qt::CaseSensitive); // y > 0 int z = QString::compare("auto", "Car", Qt::CaseInsensitive); // z < 0
Nota: Esta función trata las cadenas nulas igual que las vacías, para más detalles consulte Distinction Between Null and Empty Strings.
Véase también operator==(), operator<(), operator>(), y Comparing Strings.
[noexcept] int QString::compare(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Realiza una comparación de esto con ch, utilizando la configuración de sensibilidad a mayúsculas y minúsculas cs.
Esta función sobrecarga QString::compare().
[noexcept] int QString::compare(QLatin1StringView other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Igual que compare(*this, other, cs).
Esta función sobrecarga QString::compare().
[noexcept] int QString::compare(QStringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Realiza una comparación de esto con s, utilizando la configuración de sensibilidad a mayúsculas y minúsculas cs.
Esta función sobrecarga QString::compare().
[noexcept] int QString::compare(const QString &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Compara léxicamente esta cadena con la cadena other y devuelve un entero negativo si esta cadena es menor que other, un entero positivo si es mayor que other, y cero si son iguales.
Igual que compare(*this, other, cs).
Esta función sobrecarga QString::compare().
[static noexcept] int QString::compare(QLatin1StringView s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Realiza una comparación de s1 y s2, utilizando la configuración de mayúsculas y minúsculas cs.
Esta función sobrecarga QString::compare().
[static noexcept] int QString::compare(QStringView s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Esta función sobrecarga QString::compare().
[static noexcept] int QString::compare(const QString &s1, QLatin1StringView s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Realiza una comparación de s1 y s2, utilizando la configuración de mayúsculas y minúsculas cs.
Esta función sobrecarga QString::compare().
[static noexcept] int QString::compare(const QString &s1, QStringView s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Esta función sobrecarga QString::compare().
QString::const_iterator QString::constBegin() const
Devuelve un iterador const de estilo STL que apunta al primer carácter de la cadena.
Advertencia: El iterador devuelto se invalida al separarse o cuando se modifica QString.
Véase también begin() y constEnd().
const QChar *QString::constData() const
Devuelve un puntero a los datos almacenados en QString. El puntero puede utilizarse para acceder a los caracteres que componen la cadena.
Tenga en cuenta que el puntero sólo será válido mientras no se modifique la cadena.
Nota: La cadena devuelta puede no estar '\0'-terminada. Utilice size() para determinar la longitud de la matriz.
Véase también data(), operator[]() y fromRawData().
QString::const_iterator QString::constEnd() const
Devuelve un iterador const de estilo STL que apunta justo después del último carácter de la cadena.
Advertencia: El iterador devuelto se invalida al separarse o cuando se modifica QString.
Véase también constBegin() y end().
bool QString::contains(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const
Devuelve true si la expresión regular re coincide en algún lugar de esta cadena; en caso contrario devuelve false.
Si la coincidencia es correcta y rmatch no es nullptr, también escribe los resultados de la coincidencia en el objeto QRegularExpressionMatch apuntado por rmatch.
Véase también QRegularExpression::match().
bool QString::contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve true si esta cadena contiene una ocurrencia de la cadena str; en caso contrario devuelve false.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, no distingue entre mayúsculas y minúsculas.
Ejemplo:
QString str = "Peter Pan"; str.contains("peter", Qt::CaseInsensitive); // returns true
Véase también indexOf() y count().
bool QString::contains(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve true si esta cadena contiene una ocurrencia del carácter ch; en caso contrario devuelve false.
Esta función sobrecarga QString::contains().
bool QString::contains(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve true si esta cadena contiene una ocurrencia de la cadena latina-1 str; en caso contrario devuelve false.
Esta función sobrecarga QString::contains().
[noexcept] bool QString::contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve true si esta cadena contiene una ocurrencia de la vista de cadena str; en caso contrario devuelve false.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Esta función sobrecarga QString::contains().
Véase también indexOf() y count().
qsizetype QString::count(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve el número de apariciones (potencialmente solapadas) de la cadena str en esta cadena.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, no distingue entre mayúsculas y minúsculas.
Véase también contains() y indexOf().
qsizetype QString::count(const QRegularExpression &re) const
Devuelve el número de veces que la expresión regular re coincide en la cadena.
Por razones históricas, esta función cuenta las coincidencias que se solapan, por lo que en el ejemplo siguiente, hay cuatro instancias de "ana" o "ama":
QString str = "banana and panama"; str.count(QRegularExpression("a[nm]a")); // returns 4
Este comportamiento es diferente al de simplemente iterar sobre las coincidencias en la cadena utilizando QRegularExpressionMatchIterator.
Esta función sobrecarga QString::count().
Véase también QRegularExpression::globalMatch().
qsizetype QString::count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve el número de apariciones del carácter ch en la cadena.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Esta función sobrecarga QString::count().
Véase también contains() y indexOf().
[since 6.0] qsizetype QString::count(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve el número de apariciones (potencialmente solapadas) de la vista de cadena str en esta cadena.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Esta función sobrecarga QString::count().
Esta función se introdujo en Qt 6.0.
Véase también contains() y indexOf().
QString::const_reverse_iterator QString::crbegin() const
Devuelve un iterador inverso estilo STL que apunta al primer carácter de la cadena, en orden inverso.
Advertencia: El iterador devuelto se invalida al separarse o cuando se modifica QString.
Véase también begin(), rbegin(), y rend().
QString::const_reverse_iterator QString::crend() const
Devuelve un iterador inverso estilo const STL que apunta justo después del último carácter de la cadena, en orden inverso.
Advertencia: El iterador devuelto se invalida al separarse o cuando se modifica QString.
Véase también end(), rend(), y rbegin().
QChar *QString::data()
Devuelve un puntero a los datos almacenados en QString. El puntero puede utilizarse para acceder a los caracteres que componen la cadena y modificarlos.
A diferencia de constData() y unicode(), los datos devueltos siempre terminan en '\0'.
Ejemplo:
QString str = "Hola mundo";QChar *data = str.data();while (!data->isNull()) { qDebug() << data->unicode(); ++data; }
Tenga en cuenta que el puntero sólo es válido mientras la cadena no se modifique por otros medios. Para el acceso de sólo lectura, constData() es más rápido porque nunca provoca una copia profunda.
Véase también constData() y operator[]().
const QChar *QString::data() const
Nota: La cadena devuelta puede no estar '\0'terminada. Utilice size() para determinar la longitud de la matriz.
Se trata de una función sobrecargada.
Véase también fromRawData().
QString::iterator QString::end()
Devuelve un iterador estilo STL que apunta justo después del último carácter de la cadena.
Advertencia: El iterador devuelto se invalida al separarse o cuando se modifica QString.
Véase también begin() y constEnd().
QString::const_iterator QString::end() const
Esta función sobrecarga QString::end().
bool QString::endsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve true si la cadena termina en s; en caso contrario devuelve false.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
QString str = "Bananas"; str.endsWith("anas"); // returns true str.endsWith("pple"); // returns false
Véase también startsWith().
bool QString::endsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve true si la cadena termina en c; en caso contrario devuelve false.
Esta función sobrecarga QString::endsWith().
bool QString::endsWith(QLatin1StringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Esta función sobrecarga QString::endsWith().
[noexcept] bool QString::endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve true si la cadena termina con la vista de cadena str; en caso contrario devuelve false.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Esta función sobrecarga QString::endsWith().
Véase también startsWith().
[since 6.1] QString::iterator QString::erase(QString::const_iterator first, QString::const_iterator last)
Borra de la cadena los caracteres del rango semiabierto [ first, last ). Devuelve un iterador al carácter inmediatamente posterior al último carácter borrado (es decir, el carácter referido por last antes del borrado).
Esta función se introdujo en Qt 6.1.
[since 6.5] QString::iterator QString::erase(QString::const_iterator it)
Elimina de la cadena el carácter indicado por it. Devuelve un iterador al carácter inmediatamente posterior al carácter borrado.
QString c = "abcdefg"; auto it = c.erase(c.cbegin()); // c is now "bcdefg"; "it" points to "b"
Se trata de una función sobrecargada.
Esta función se introdujo en Qt 6.5.
QString &QString::fill(QChar ch, qsizetype size = -1)
Establece cada carácter de la cadena al carácter ch. Si size es distinto de -1 (por defecto), la cadena se redimensiona previamente a size.
Ejemplo:
QString str = "Berlin"; str.fill('z'); // str == "zzzzzz" str.fill('A', 2); // str == "AA"
Véase también resize().
[since 6.0] QString QString::first(qsizetype n) const &
[since 6.0] QString QString::first(qsizetype n) &&
Devuelve una cadena que contiene los primeros n caracteres de esta cadena, (es decir, desde el principio de esta cadena hasta, pero sin incluir, el elemento en la posición de índice n).
Nota: El comportamiento es indefinido cuando n < 0 o n > size().
Estas funciones se introdujeron en Qt 6.0.
Véase también last(), sliced(), startsWith(), chopped(), chop(), truncate(), y slice().
[static] QString QString::fromCFString(CFStringRef string)
Construye un nuevo QString que contiene una copia de string CFString.
Nota: esta función solo está disponible en macOS e iOS.
[static, since 6.6] QString QString::fromEcmaString(emscripten::val jsString)
Convierte la cadena ECMAScript jsString a QString. El comportamiento es indefinido si el parámetro proporcionado no es una cadena.
Esta función se introdujo en Qt 6.6.
Véase también toEcmaString().
[static] QString QString::fromLatin1(const char *str, qsizetype size)
Devuelve un QString inicializado con los primeros size caracteres de la cadena Latin-1 str.
Si size es -1, se utiliza strlen(str) en su lugar.
Véase también toLatin1(), fromUtf8() y fromLocal8Bit().
[static, since 6.0] QString QString::fromLatin1(QByteArrayView str)
Devuelve un QString inicializado con la cadena Latin-1 str.
Nota: : cualquier byte nulo ('\0') en la matriz de bytes será incluido en esta cadena, convertido a caracteres nulos Unicode (U+0000).
Se trata de una función sobrecargada.
Esta función se introdujo en Qt 6.0.
[static] QString QString::fromLatin1(const QByteArray &str)
Devuelve un QString inicializado con la cadena Latin-1 str.
Nota: : cualquier byte nulo ('\0') en la matriz de bytes se incluirá en esta cadena, convertido a caracteres nulos Unicode (U+0000). Este comportamiento es diferente al de Qt 5.x.
Esta es una función sobrecargada.
[static] QString QString::fromLocal8Bit(const char *str, qsizetype size)
Devuelve un QString inicializado con los primeros size caracteres de la cadena de 8 bits str.
Si size es -1, se utiliza strlen(str) en su lugar.
En sistemas Unix es equivalente a fromUtf8(). Tenga en cuenta que en los sistemas Apple esta función no tiene en cuenta NSString.defaultCStringEncoding o CFStringGetSystemEncoding(), ya que estas funciones suelen devolver la codificación heredada "Western (Mac OS Roman)", que no debería utilizarse en los sistemas operativos Apple modernos. En Windows se utiliza la página de códigos actual del sistema.
Véase también toLocal8Bit(), fromLatin1(), y fromUtf8().
[static, since 6.0] QString QString::fromLocal8Bit(QByteArrayView str)
Devuelve un QString inicializado con la cadena de 8 bits str.
En sistemas Unix esto es equivalente a fromUtf8(). Tenga en cuenta que en los sistemas Apple esta función no tiene en cuenta NSString.defaultCStringEncoding o CFStringGetSystemEncoding(), ya que estas funciones suelen devolver la codificación heredada "Western (Mac OS Roman)", que no debería utilizarse en los sistemas operativos Apple modernos. En Windows se utiliza la página de códigos actual del sistema.
Nota : : cualquier byte nulo ('\0') en la matriz de bytes se incluirá en esta cadena, convertido a caracteres nulos Unicode (U+0000).
Esta es una función sobrecargada.
Esta función se introdujo en Qt 6.0.
[static] QString QString::fromLocal8Bit(const QByteArray &str)
Devuelve un QString inicializado con la cadena de 8 bits str.
En sistemas Unix esto es equivalente a fromUtf8(). Tenga en cuenta que en los sistemas Apple esta función no tiene en cuenta NSString.defaultCStringEncoding o CFStringGetSystemEncoding(), ya que estas funciones suelen devolver la codificación heredada "Western (Mac OS Roman)", que no debería utilizarse en los sistemas operativos Apple modernos. En Windows se utiliza la página de códigos actual del sistema.
Nota : : cualquier byte nulo ('\0') en la matriz de bytes se incluirá en esta cadena, convertido a caracteres nulos Unicode (U+0000). Este comportamiento es diferente al de Qt 5.x.
Esta es una función sobrecargada.
[static] QString QString::fromNSString(const NSString *string)
Construye un nuevo QString que contiene una copia de string NSString.
Nota: esta función solo está disponible en macOS e iOS.
[static, since 6.10] QString QString::fromRawData(const char16_t *unicode, qsizetype size)
Construye un QString que utiliza los primeros size caracteres Unicode de la matriz unicode. Los datos de unicode no se copian. El invocador debe poder garantizar que unicode no se borrará ni modificará mientras exista QString (o una copia no modificada del mismo).
Cualquier intento de modificar QString o copias del mismo hará que se cree una copia profunda de los datos, asegurando que los datos en bruto no se modifican.
He aquí un ejemplo de cómo podemos utilizar un QRegularExpression sobre datos brutos en memoria sin necesidad de copiar los datos en un QString:
QRegularExpression pattern("\u00A4"); static const char16_t unicode[] = { 0x005A, 0x007F, 0x00A4, 0x0060, 0x1009, 0x0020, 0x0020}; QString str = QString::fromRawData(unicode, std::size(unicode)); if (str.contains(pattern)) { // ... }
Advertencia: Una cadena creada con fromRawData() no es '\0'-terminada, a menos que los datos brutos contengan un carácter '\0' en la posición size. Esto significa que unicode() no devolverá una cadena '\0'terminada (aunque utf16() sí lo hace, a costa de copiar los datos brutos).
Esta función se introdujo en Qt 6.10.
Véase también fromUtf16(), setRawData(), data(), constData(), nullTerminate(), y nullTerminated().
[static] QString QString::fromRawData(const QChar *unicode, qsizetype size)
Se trata de una función sobrecargada.
[static] QString QString::fromStdString(const std::string &str)
Devuelve una copia de la cadena str. Se supone que la cadena dada está codificada en UTF-8, y se convierte a QString utilizando la función fromUtf8().
Véase también fromLatin1(), fromLocal8Bit(), fromUtf8() y QByteArray::fromStdString().
[static] QString QString::fromStdU16String(const std::u16string &str)
Devuelve una copia de la cadena str. Se supone que la cadena dada está codificada en UTF-16, y se convierte a QString utilizando la función fromUtf16().
Véase también fromUtf16(), fromStdWString() y fromStdU32String().
[static] QString QString::fromStdU32String(const std::u32string &str)
Devuelve una copia de la cadena str. Se supone que la cadena dada está codificada en UTF-32, y se convierte a QString utilizando la función fromUcs4().
Véase también fromUcs4(), fromStdWString() y fromStdU16String().
[static] QString QString::fromStdWString(const std::wstring &str)
Devuelve una copia de la cadena str. Se supone que la cadena dada está codificada en utf16 si el tamaño de wchar_t es de 2 bytes (por ejemplo, en windows) y en ucs4 si el tamaño de wchar_t es de 4 bytes (la mayoría de los sistemas Unix).
Véase también fromUtf16(), fromLatin1(), fromLocal8Bit(), fromUtf8(), fromUcs4(), fromStdU16String() y fromStdU32String().
[static] QString QString::fromUcs4(const char32_t *unicode, qsizetype size = -1)
Devuelve un QString inicializado con los primeros size caracteres de la cadena Unicode unicode (codificada como UTF-32).
Si size es -1 (por defecto), unicode debe estar '\0'-terminado.
Véase también toUcs4(), fromUtf16(), utf16(), setUtf16(), fromWCharArray() y fromStdU32String().
[static] QString QString::fromUtf8(const char *str, qsizetype size)
Devuelve un QString inicializado con los primeros size bytes de la cadena UTF-8 str.
Si size es -1, se utiliza strlen(str) en su lugar.
UTF-8 es un códec Unicode y puede representar todos los caracteres de una cadena Unicode como QString. Sin embargo, con UTF-8 es posible que se produzcan secuencias no válidas y, si se encuentra alguna, se sustituirá por uno o varios "caracteres de sustitución", o se suprimirá. Entre ellas se incluyen las secuencias no Unicode, los no caracteres, las secuencias demasiado largas o los puntos de código sustitutivos codificados en UTF-8.
Esta función puede utilizarse para procesar datos entrantes de forma incremental siempre que todos los caracteres UTF-8 terminen en los datos entrantes. Cualquier carácter no terminado al final de la cadena será reemplazado o suprimido. Para realizar una descodificación con estado, utilice QStringDecoder.
Véase también toUtf8(), fromLatin1() y fromLocal8Bit().
[static, since 6.0] QString QString::fromUtf8(QByteArrayView str)
Devuelve un QString inicializado con la cadena UTF-8 str.
Nota: : cualquier byte nulo ('\0') en la matriz de bytes se incluirá en esta cadena, convertido a caracteres nulos Unicode (U+0000).
Se trata de una función sobrecargada.
Esta función se introdujo en Qt 6.0.
[static] QString QString::fromUtf8(const QByteArray &str)
Devuelve un QString inicializado con la cadena UTF-8 str.
Nota: : cualquier byte nulo ('\0') en la matriz de bytes se incluirá en esta cadena, convertido a caracteres nulos Unicode (U+0000). Este comportamiento es diferente al de Qt 5.x.
Esta es una función sobrecargada.
[static, since 6.1] QString QString::fromUtf8(const char8_t *str)
Esta sobrecarga sólo está disponible cuando se compila en modo C++20.
Se trata de una función sobrecargada.
Esta función se introdujo en Qt 6.1.
[static, since 6.0] QString QString::fromUtf8(const char8_t *str, qsizetype size)
Esta sobrecarga sólo está disponible cuando se compila en modo C++20.
Se trata de una función sobrecargada.
Esta función se introdujo en Qt 6.0.
[static] QString QString::fromUtf16(const char16_t *unicode, qsizetype size = -1)
Devuelve un QString inicializado con los primeros size caracteres de la cadena Unicode unicode (codificada ISO-10646-UTF-16).
Si size es -1 (por defecto), unicode debe ser '\0'-terminado.
Esta función comprueba si existe una marca de orden de bytes (BOM). Si falta, se asume el orden de bytes del host.
Esta función es lenta en comparación con otras conversiones Unicode. Utilice QString(const QChar *, qsizetype) o QString(const QChar *) si es posible.
QString hace una copia profunda de los datos Unicode.
Véase también utf16(), setUtf16(), y fromStdU16String().
[static] QString QString::fromWCharArray(const wchar_t *string, qsizetype size = -1)
Lee las primeras unidades de código size de la matriz wchar_t a cuyo inicio apunta string, convirtiéndolas a Unicode y devolviendo el resultado como QString. Se asume que la codificación utilizada por wchar_t es UTF-32 si el tamaño del tipo es de cuatro bytes o UTF-16 si su tamaño es de dos bytes.
Si size es -1 (por defecto), string debe ser '\0'-terminado.
Véase también fromUtf16(), fromLatin1(), fromLocal8Bit(), fromUtf8(), fromUcs4() y fromStdWString().
QChar &QString::front()
Devuelve una referencia al primer carácter de la cadena. Igual que operator[](0).
Esta función se proporciona por compatibilidad con STL.
Advertencia: Llamar a esta función en una cadena vacía constituye un comportamiento indefinido.
Véase también back(), at(), y operator[]().
QChar QString::front() const
Devuelve el primer carácter de la cadena. Igual que at(0).
Esta función se proporciona por compatibilidad con STL.
Advertencia: Llamar a esta función en una cadena vacía constituye un comportamiento indefinido.
Véase también back(), at(), y operator[]().
qsizetype QString::indexOf(QLatin1StringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve la posición del índice de la primera aparición de la cadena Latin-1 vista por str en esta cadena, buscando hacia adelante desde la posición del índice from. Devuelve -1 si no se encuentra str.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Ejemplo:
QString x = "sticky question"; QString y = "sti"; x.indexOf(y); // returns 0 x.indexOf(y, 1); // returns 10 x.indexOf(y, 10); // returns 10 x.indexOf(y, 11); // returns -1
Si from es -1, la búsqueda comienza en el último carácter; si es -2, en el penúltimo carácter y así sucesivamente.
Véase también lastIndexOf(), contains() y count().
qsizetype QString::indexOf(const QRegularExpression &re, qsizetype from = 0, QRegularExpressionMatch *rmatch = nullptr) const
Devuelve la posición del índice de la primera coincidencia de la expresión regular re en la cadena, buscando hacia adelante desde la posición del índice from. Devuelve -1 si re no coincide en ninguna parte.
Si la coincidencia es correcta y rmatch no es nullptr, también escribe los resultados de la coincidencia en el objeto QRegularExpressionMatch apuntado por rmatch.
Ejemplo:
QString str = "the minimum"; str.indexOf(QRegularExpression("m[aeiou]"), 0); // returns 4 QRegularExpressionMatch match; str.indexOf(QRegularExpression("m[aeiou]"), 0, &match); // returns 4 // match.captured() == mi
qsizetype QString::indexOf(const QString &str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve la posición del índice de la primera aparición de la cadena str en esta cadena, buscando hacia adelante desde la posición del índice from. Devuelve -1 si no se encuentra str.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Ejemplo:
QString x = "sticky question"; QString y = "sti"; x.indexOf(y); // returns 0 x.indexOf(y, 1); // returns 10 x.indexOf(y, 10); // returns 10 x.indexOf(y, 11); // returns -1
Si from es -1, la búsqueda comienza en el último carácter; si es -2, en el penúltimo carácter y así sucesivamente.
Véase también lastIndexOf(), contains() y count().
qsizetype QString::indexOf(QChar ch, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve la posición del índice de la primera aparición del carácter ch en esta cadena, buscando hacia adelante desde la posición del índice from. Devuelve -1 si no se encuentra ch.
Esta función sobrecarga QString::indexOf().
[noexcept] qsizetype QString::indexOf(QStringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve la posición del índice de la primera aparición de la vista de cadena str en esta cadena, buscando hacia adelante desde la posición del índice from. Devuelve -1 si no se encuentra str.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Si from es -1, la búsqueda comienza en el último carácter; si es -2, en el penúltimo carácter y así sucesivamente.
Esta función sobrecarga QString::indexOf().
Véase también QStringView::indexOf(), lastIndexOf(), contains() y count().
QString &QString::insert(qsizetype position, const QString &str)
Inserta la cadena str en el índice dado position y devuelve una referencia a esta cadena.
Ejemplo:
Esta cadena crece para acomodar la inserción. Si position está más allá del final de la cadena, se añaden caracteres de espacio a la cadena hasta llegar a este position, seguido de str.
Véase también append(), prepend(), replace(), y remove().
QString &QString::insert(qsizetype position, QChar ch)
Inserta ch en el índice dado position en la cadena.
Esta cadena crece para acomodar la inserción. Si position está más allá del final de la cadena, se añaden caracteres de espacio a la cadena hasta llegar a este position, seguido de ch.
Esta función sobrecarga QString::insert().
QString &QString::insert(qsizetype position, QLatin1StringView str)
Inserta la cadena Latin-1 vista por str en el índice dado position.
Esta cadena crece para acomodar la inserción. Si position está más allá del final de la cadena, se añaden caracteres de espacio a la cadena hasta llegar a este position, seguido de str.
Esta función sobrecarga QString::insert().
[since 6.0] QString &QString::insert(qsizetype position, QStringView str)
Inserta la cadena vista str en el índice dado position y devuelve una referencia a esta cadena.
Esta cadena crece para acomodar la inserción. Si position está más allá del final de la cadena, se añaden caracteres de espacio a la cadena hasta llegar a este position, seguido de str.
Esta función sobrecarga QString::insert().
Esta función se introdujo en Qt 6.0.
[since 6.5] QString &QString::insert(qsizetype position, QUtf8StringView str)
Inserta la vista de cadena UTF-8 str en el índice dado position.
Nota: La inserción de datos de cadena codificados en UTF-8 de ancho variable es conceptualmente más lenta que la inserción de datos de cadena de ancho fijo, como UTF-16 (QStringView) o Latin-1 (QLatin1StringView), por lo que debe utilizarse con moderación.
Esta cadena crece para acomodar la inserción. Si position está más allá del final de la cadena, se añaden caracteres de espacio a la cadena hasta llegar a este position, seguido de str.
Esta función sobrecarga QString::insert().
Esta función se introdujo en Qt 6.5.
QString &QString::insert(qsizetype position, const QByteArray &str)
Interpreta el contenido de str como UTF-8, inserta la cadena Unicode que codifica en el índice dado position y devuelve una referencia a esta cadena.
Esta cadena crece para acomodar la inserción. Si position está más allá del final de la cadena, se añaden caracteres de espacio a la cadena hasta llegar a este position, seguido de str.
Esta función no está disponible cuando QT_NO_CAST_FROM_ASCII está definido.
Esta función sobrecarga QString::insert().
QString &QString::insert(qsizetype position, const char *str)
Inserta la cadena C str en el índice dado position y devuelve una referencia a esta cadena.
Esta cadena crece para acomodar la inserción. Si position está más allá del final de la cadena, se añaden caracteres de espacio a la cadena hasta llegar a este position, seguido de str.
Esta función no está disponible cuando QT_NO_CAST_FROM_ASCII está definido.
Esta función sobrecarga QString::insert().
QString &QString::insert(qsizetype position, const QChar *unicode, qsizetype size)
Inserta los primeros caracteres size de la matriz QChar unicode en el índice position dado en la cadena.
Esta cadena crece para acomodar la inserción. Si position está más allá del final de la cadena, se añaden caracteres de espacio a la cadena hasta llegar a este position, seguidos de size caracteres de la matriz QChar unicode .
Esta función sobrecarga QString::insert().
[constexpr noexcept] bool QString::isEmpty() const
Devuelve true si la cadena no tiene caracteres; en caso contrario devuelve false.
Ejemplo:
QString().isEmpty(); // returns true QString("").isEmpty(); // returns true QString("x").isEmpty(); // returns false QString("abc").isEmpty(); // returns false
Véase también size().
bool QString::isLower() const
Devuelve true si la cadena está en minúsculas, es decir, es idéntica a su plegado toLower().
Tenga en cuenta que esto no significa que la cadena no contenga letras mayúsculas (algunas letras mayúsculas no tienen un plegado en minúsculas; toLower() no las modifica). Para más información, consulte el estándar Unicode, sección 3.13.
Véase también QChar::toLower() y isUpper().
[constexpr] bool QString::isNull() const
Devuelve true si esta cadena es nula; en caso contrario devuelve false.
Ejemplo:
QString().isNull(); // returns true QString("").isNull(); // returns false QString("abc").isNull(); // returns false
Qt hace una distinción entre cadenas nulas y cadenas vacías por razones históricas. Para la mayoría de las aplicaciones, lo que importa es si una cadena contiene o no algún dato, y esto puede determinarse utilizando la función isEmpty().
Véase también isEmpty().
bool QString::isRightToLeft() const
Devuelve true si la cadena se lee de derecha a izquierda.
Véase también QStringView::isRightToLeft().
bool QString::isUpper() const
Devuelve true si la cadena está en mayúsculas, es decir, es idéntica a su plegado toUpper().
Tenga en cuenta que esto no significa que la cadena no contenga letras minúsculas (algunas letras minúsculas no tienen un plegado en mayúsculas; toUpper() no las modifica). Para más información, consulte el estándar Unicode, sección 3.13.
Véase también QChar::toUpper() y isLower().
[noexcept] bool QString::isValidUtf16() const
Devuelve true si la cadena contiene datos codificados en UTF-16 válidos, o false en caso contrario.
Tenga en cuenta que esta función no realiza ninguna validación especial de los datos; simplemente comprueba si se pueden descodificar correctamente a partir de UTF-16. Se asume que los datos están en el orden de bytes del host; la presencia de un BOM no tiene sentido.
Véase también QStringView::isValidUtf16().
[since 6.0] QString QString::last(qsizetype n) const &
[since 6.0] QString QString::last(qsizetype n) &&
Devuelve la cadena que contiene los últimos n caracteres de esta cadena.
Nota: El comportamiento es indefinido cuando n < 0 o n > size().
Estas funciones se introdujeron en Qt 6.0.
Véase también first(), sliced(), endsWith(), chopped(), chop(), truncate(), y slice().
qsizetype QString::lastIndexOf(const QRegularExpression &re, qsizetype from, QRegularExpressionMatch *rmatch = nullptr) const
Devuelve la posición del índice de la última coincidencia de la expresión regular re en la cadena, que comienza antes de la posición del índice from.
Si from es -1, la búsqueda comienza en el último carácter; si es -2, en el penúltimo carácter y así sucesivamente.
Devuelve -1 si re no coincide en ninguna parte.
Si la coincidencia tiene éxito y rmatch no es nullptr, también escribe los resultados de la coincidencia en el objeto QRegularExpressionMatch apuntado por rmatch.
Ejemplo:
QString str = "the minimum"; str.lastIndexOf(QRegularExpression("m[aeiou]")); // returns 8 QRegularExpressionMatch match; str.lastIndexOf(QRegularExpression("m[aeiou]"), -1, &match); // returns 8 // match.captured() == mu
Nota: Debido a cómo trabaja el algoritmo de coincidencia de expresiones regulares, esta función en realidad coincidirá repetidamente desde el principio de la cadena hasta que se alcance la posición from.
Nota: Cuando se busca una expresión regular re que puede coincidir con 0 caracteres, la coincidencia al final de los datos se excluye de la búsqueda mediante un negativo from, aunque -1 se considere normalmente como una búsqueda desde el final de la cadena: la coincidencia al final está después del último carácter, por lo que se excluye. Para incluir esa coincidencia final vacía, dé un valor positivo a from u omita por completo el parámetro from.
qsizetype QString::lastIndexOf(const QString &str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve la posición del índice de la última aparición de la cadena str en esta cadena, buscando hacia atrás desde la posición del índice from.
Si from es -1, la búsqueda comienza en el último carácter; si es -2, en el penúltimo carácter y así sucesivamente.
Devuelve -1 si no se encuentra str.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Ejemplo:
QString x = "crazy azimuths"; QString y = "az"; x.lastIndexOf(y); // returns 6 x.lastIndexOf(y, 6); // returns 6 x.lastIndexOf(y, 5); // returns 2 x.lastIndexOf(y, 1); // returns -1
Nota: Cuando se busca un str de longitud 0, la coincidencia al final de los datos se excluye de la búsqueda mediante un from negativo, aunque -1 se considere normalmente como una búsqueda desde el final de la cadena: la coincidencia al final está después del último carácter, por lo que se excluye. Para incluir esta coincidencia final vacía, dé un valor positivo a from u omita por completo el parámetro from.
Véase también indexOf(), contains() y count().
[noexcept, since 6.3] qsizetype QString::lastIndexOf(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Esta función sobrecarga QString::lastIndexOf().
Esta función se introdujo en Qt 6.3.
[since 6.2] qsizetype QString::lastIndexOf(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve la posición del índice de la última aparición de la cadena str en esta cadena. Devuelve -1 si no se encuentra str.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Ejemplo:
QString x = "crazy azimuths"; QString y = "az"; x.lastIndexOf(y); // returns 6 x.lastIndexOf(y, 6); // returns 6 x.lastIndexOf(y, 5); // returns 2 x.lastIndexOf(y, 1); // returns -1
Esta función sobrecarga QString::lastIndexOf().
Esta función se introdujo en Qt 6.2.
Véase también indexOf(), contains() y count().
[noexcept, since 6.2] qsizetype QString::lastIndexOf(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve la posición del índice de la última aparición de la vista de cadena str en esta cadena. Devuelve -1 si no se encuentra str.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Esta función sobrecarga QString::lastIndexOf().
Esta función se introdujo en Qt 6.2.
Véase también indexOf(), contains() y count().
[since 6.2] qsizetype QString::lastIndexOf(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const
Devuelve la posición del índice de la última coincidencia de la expresión regular re en la cadena. Devuelve -1 si re no coincide en ninguna parte.
Si la coincidencia es correcta y rmatch no es nullptr, también escribe los resultados de la coincidencia en el objeto QRegularExpressionMatch apuntado por rmatch.
Ejemplo:
QString str = "the minimum"; str.lastIndexOf(QRegularExpression("m[aeiou]")); // returns 8 QRegularExpressionMatch match; str.lastIndexOf(QRegularExpression("m[aeiou]"), -1, &match); // returns 8 // match.captured() == mu
Nota: Debido a cómo funciona el algoritmo de coincidencia de expresiones regulares, esta función coincidirá repetidamente desde el principio de la cadena hasta que se alcance el final de la misma.
Esta función sobrecarga QString::lastIndexOf().
Esta función se introdujo en Qt 6.2.
[since 6.2] qsizetype QString::lastIndexOf(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve la posición del índice de la última aparición de la cadena str en esta cadena. Devuelve -1 si no se encuentra str.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Ejemplo:
QString x = "crazy azimuths"; QString y = "az"; x.lastIndexOf(y); // returns 6 x.lastIndexOf(y, 6); // returns 6 x.lastIndexOf(y, 5); // returns 2 x.lastIndexOf(y, 1); // returns -1
Esta función sobrecarga QString::lastIndexOf().
Esta función se introdujo en Qt 6.2.
Véase también indexOf(), contains() y count().
qsizetype QString::lastIndexOf(QChar ch, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve la posición del índice de la última aparición del carácter ch en esta cadena, buscando hacia atrás desde la posición del índice from.
Esta función sobrecarga QString::lastIndexOf().
qsizetype QString::lastIndexOf(QLatin1StringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve la posición del índice de la última aparición de la cadena Latin-1 vista por str en esta cadena, buscando hacia atrás desde la posición del índice from.
Si from es -1, la búsqueda comienza en el último carácter; si es -2, en el penúltimo carácter y así sucesivamente.
Devuelve -1 si no se encuentra str.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Ejemplo:
QString x = "crazy azimuths"; QString y = "az"; x.lastIndexOf(y); // returns 6 x.lastIndexOf(y, 6); // returns 6 x.lastIndexOf(y, 5); // returns 2 x.lastIndexOf(y, 1); // returns -1
Nota: Cuando se busca un str de longitud 0, la coincidencia al final de los datos se excluye de la búsqueda mediante un from negativo, aunque -1 se considere normalmente como una búsqueda desde el final de la cadena: la coincidencia al final está después del último carácter, por lo que se excluye. Para incluir esta coincidencia final vacía, dé un valor positivo a from u omita por completo el parámetro from.
Esta función sobrecarga QString::lastIndexOf().
Véase también indexOf(), contains() y count().
[noexcept] qsizetype QString::lastIndexOf(QStringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve la posición del índice de la última aparición de la vista de cadena str en esta cadena, buscando hacia atrás desde la posición del índice from.
Si from es -1, la búsqueda comienza en el último carácter; si es -2, en el penúltimo carácter y así sucesivamente.
Devuelve -1 si no se encuentra str.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Nota: Cuando se busca un str de longitud 0, la coincidencia al final de los datos se excluye de la búsqueda mediante un from negativo, aunque -1 se considere normalmente como una búsqueda desde el final de la cadena: la coincidencia al final está después del último carácter, por lo que se excluye. Para incluir esta coincidencia final vacía, dé un valor positivo a from u omita por completo el parámetro from.
Esta función sobrecarga QString::lastIndexOf().
Véase también indexOf(), contains() y count().
Devuelve una subcadena que contiene los n caracteres más a la izquierda de esta cadena (es decir, desde el principio de esta cadena hasta, pero sin incluir, el elemento en la posición de índice n).
Si sabe que n no puede estar fuera de los límites, utilice first() en su lugar en código nuevo, porque es más rápido.
Se devuelve la cadena completa si n es mayor o igual que size(), o menor que cero.
Véase también first(), last(), startsWith(), chopped(), chop(), y truncate().
QString QString::leftJustified(qsizetype width, QChar fill = u' ', bool truncate = false) const
Devuelve una cadena de tamaño width que contiene esta cadena rellenada por el carácter fill.
Si truncate es false y size() de la cadena es mayor que width, entonces la cadena devuelta es una copia de la cadena.
Si truncate es true y size() de la cadena es mayor que width, entonces cualquier carácter en una copia de la cadena después de la posición width se elimina, y se devuelve la copia.
QString str = "Pineapple"; str = str.leftJustified(5, '.', true); // str == "Pinea"
Véase también rightJustified().
[constexpr noexcept] qsizetype QString::length() const
Devuelve el número de caracteres de esta cadena. Equivale a size().
Véase también resize().
[static] int QString::localeAwareCompare(const QString &s1, const QString &s2)
Compara s1 con s2 y devuelve un entero menor, igual o mayor que cero si s1 es menor, igual o mayor que s2.
La comparación se realiza en función de la localización y de la plataforma. Utilice esta función para presentar listas ordenadas de cadenas al usuario.
Véase también compare(), QLocale, y Comparing Strings.
[since 6.0] int QString::localeAwareCompare(QStringView other) const
Compara esta cadena con la cadena other y devuelve un entero menor, igual o mayor que cero si esta cadena es menor, igual o mayor que la cadena other.
La comparación se realiza en función de la localización y de la plataforma. Utilice esta función para presentar listas ordenadas de cadenas al usuario.
Igual que localeAwareCompare(*this, other).
Esta función sobrecarga QString::localeAwareCompare().
Esta función se introdujo en Qt 6.0.
Véase también Comparing Strings.
int QString::localeAwareCompare(const QString &other) const
Compara esta cadena con la cadena other y devuelve un entero menor, igual o mayor que cero si esta cadena es menor, igual o mayor que la cadena other.
La comparación se realiza en función de la localización y de la plataforma. Utilice esta función para presentar listas ordenadas de cadenas al usuario.
Igual que localeAwareCompare(*this, other).
Esta función sobrecarga QString::localeAwareCompare().
Véase también Comparing Strings.
[static, since 6.0] int QString::localeAwareCompare(QStringView s1, QStringView s2)
Compara s1 con s2 y devuelve un entero menor, igual o mayor que cero si s1 es menor, igual o mayor que s2.
La comparación se realiza en función de la localización y de la plataforma. Utilice esta función para presentar listas ordenadas de cadenas al usuario.
Esta función sobrecarga QString::localeAwareCompare().
Esta función se introdujo en Qt 6.0.
Véase también Comparing Strings.
[constexpr noexcept, since 6.8] qsizetype QString::max_size() const
[static constexpr noexcept, since 6.8] qsizetype QString::maxSize()
Devuelve el número máximo de elementos que teóricamente puede contener la cadena. En la práctica, el número puede ser mucho menor, limitado por la cantidad de memoria disponible en el sistema.
Estas funciones se introdujeron en Qt 6.8.
QString QString::mid(qsizetype position, qsizetype n = -1) const &
QString QString::mid(qsizetype position, qsizetype n = -1) &&
Devuelve una cadena que contiene n caracteres de esta cadena, comenzando en el índice especificado position hasta, pero sin incluir, el elemento en la posición del índice \a position + n.
Si sabe que position y n no pueden estar fuera de los límites, utilice sliced() en su lugar en código nuevo, porque es más rápido.
Devuelve una cadena nula si el índice position excede la longitud de la cadena. Si hay menos de n caracteres disponibles en la cadena a partir del position dado, o si n es -1 (por defecto), la función devuelve todos los caracteres disponibles a partir del position especificado.
Véase también first(), last(), sliced(), chopped(), chop(), truncate() y slice().
QString QString::normalized(QString::NormalizationForm mode, QChar::UnicodeVersion version = QChar::Unicode_Unassigned) const
Devuelve la cadena en la normalización Unicode dada mode, según la version dada del estándar Unicode.
[since 6.10] QString &QString::nullTerminate()
Si estos datos de cadena no están terminados en cero, este método hará una copia profunda de los datos y los terminará en cero.
Un QString está terminado en cero por defecto, sin embargo, en algunos casos (por ejemplo, cuando se utiliza fromRawData()), los datos de la cadena no terminan necesariamente con un carácter \0, lo que podría ser un problema al llamar a métodos que esperan una cadena terminada en cero.
Esta función se introdujo en Qt 6.10.
Véase también nullTerminated(), fromRawData() y setRawData().
[since 6.10] QString QString::nullTerminated() const &
[since 6.10] QString QString::nullTerminated() &&
Devuelve una copia de esta cadena que siempre está terminada en cero.
Estas funciones se introdujeron en Qt 6.10.
Véase también nullTerminate(), fromRawData() y setRawData().
[static] QString QString::number(long n, int base = 10)
Devuelve una cadena equivalente al número n según la base especificada base.
La base es 10 por defecto y debe estar entre 2 y 36. Para bases distintas de 10, n se trata como un entero sin signo.
El formato siempre utiliza QLocale::C, es decir, English/UnitedStates. Para obtener una representación de cadena localizada de un número, utilice QLocale::toString() con la configuración regional adecuada.
long a = 63; QString s = QString::number(a, 16); // s == "3f" QString t = QString::number(a, 16).toUpper(); // t == "3F"
Véase también setNum().
[static] QString QString::number(double n, char format = 'g', int precision = 6)
Devuelve una cadena que representa el número de punto flotante n.
Devuelve una cadena que representa n, formateada según los formatos especificados format y precision.
Para formatos con exponente, el exponente mostrará su signo y tendrá al menos dos dígitos, rellenando el exponente con cero a la izquierda si es necesario.
Véase también setNum(), QLocale::toString(), QLocale::FloatingPointPrecisionOption, y Number formats.
[static] QString QString::number(int n, int base = 10)
Se trata de una función sobrecargada.
[static] QString QString::number(qlonglong n, int base = 10)
Se trata de una función sobrecargada.
[static] QString QString::number(qulonglong n, int base = 10)
Se trata de una función sobrecargada.
[static] QString QString::number(uint n, int base = 10)
Se trata de una función sobrecargada.
[static] QString QString::number(ulong n, int base = 10)
Se trata de una función sobrecargada.
QString &QString::prepend(const QString &str)
Antepone la cadena str al principio de esta cadena y devuelve una referencia a esta cadena.
Esta operación suele ser muy rápida(tiempo constante), ya que QString preasigna espacio extra al principio de los datos de la cadena, por lo que puede crecer sin reasignar toda la cadena cada vez.
Ejemplo:
Véase también append() y insert().
QString &QString::prepend(QChar ch)
Añade el carácter ch a esta cadena.
Esta función sobrecarga QString::prepend().
QString &QString::prepend(QLatin1StringView str)
Antepone la cadena Latin-1 vista por str a esta cadena.
Esta función sobrecarga QString::prepend().
[since 6.0] QString &QString::prepend(QStringView str)
Añade la vista de cadena str al principio de esta cadena y devuelve una referencia a esta cadena.
Esta función sobrecarga QString::prepend().
Esta función se introdujo en Qt 6.0.
[since 6.5] QString &QString::prepend(QUtf8StringView str)
Añade la vista de cadena UTF-8 str a esta cadena.
Esta función sobrecarga QString::prepend().
Esta función se introdujo en Qt 6.5.
QString &QString::prepend(const QByteArray &ba)
Añade la matriz de bytes ba a esta cadena. La matriz de bytes se convierte a Unicode mediante la función fromUtf8().
Puedes desactivar esta función definiendo QT_NO_CAST_FROM_ASCII cuando compiles tus aplicaciones. Esto puede ser útil si quieres asegurarte de que todas las cadenas visibles para el usuario pasan por QObject::tr(), por ejemplo.
Esta función sobrecarga QString::prepend().
QString &QString::prepend(const char *str)
Añade la cadena str a esta cadena. El puntero const char se convierte a Unicode mediante la función fromUtf8().
Puedes desactivar esta función definiendo QT_NO_CAST_FROM_ASCII cuando compiles tus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Esta función sobrecarga QString::prepend().
QString &QString::prepend(const QChar *str, qsizetype len)
Añade len caracteres de la matriz QChar str a esta cadena y devuelve una referencia a esta cadena.
Esta función sobrecarga QString::prepend().
void QString::push_back(const QString &other)
Esta función se proporciona por compatibilidad con STL, añadiendo la cadena other dada al final de esta cadena. Es equivalente a append(other).
Véase también append().
void QString::push_back(QChar ch)
Añade el carácter ch al final de la cadena.
Se trata de una función sobrecargada.
void QString::push_front(const QString &other)
Esta función se proporciona por compatibilidad con STL, anteponiendo la cadena other dada al principio de esta cadena. Es equivalente a prepend(other).
Véase también prepend().
void QString::push_front(QChar ch)
Añade el carácter ch al principio de la cadena.
Se trata de una función sobrecargada.
QString::reverse_iterator QString::rbegin()
Devuelve un iterador inverso estilo STL que apunta al primer carácter de la cadena, en orden inverso.
Advertencia: El iterador devuelto se invalida al separarse o cuando se modifica QString.
Véase también begin(), crbegin(), y rend().
QString::const_reverse_iterator QString::rbegin() const
Se trata de una función sobrecargada.
QString &QString::remove(const QRegularExpression &re)
Elimina todas las apariciones de la expresión regular re en la cadena y devuelve una referencia a la cadena. Por ejemplo:
QString r = "Telephone"; r.remove(QRegularExpression("[aeiou].")); // r == "The"
La eliminación de elementos preservará la capacidad de la cadena y no reducirá la cantidad de memoria asignada. Para eliminar la capacidad extra y liberar tanta memoria como sea posible, llame a squeeze() después del último cambio en el tamaño de la cadena.
Véase también indexOf(), lastIndexOf() y replace().
QString &QString::remove(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Elimina todas las apariciones del carácter ch en esta cadena, y devuelve una referencia a esta cadena.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, no distingue entre mayúsculas y minúsculas.
Ejemplo:
Es lo mismo que replace(ch, "", cs).
La eliminación de elementos preservará la capacidad de la cadena y no reducirá la cantidad de memoria asignada. Para deshacerse de la capacidad extra y liberar tanta memoria como sea posible, llame a squeeze() después del último cambio en el tamaño de la cadena.
Véase también replace().
QString &QString::remove(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Elimina todas las apariciones de la cadena str dada en esta cadena, y devuelve una referencia a esta cadena.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, no distingue entre mayúsculas y minúsculas.
Esto es lo mismo que replace(str, "", cs).
La eliminación de elementos preservará la capacidad de la cadena y no reducirá la cantidad de memoria asignada. Para deshacerse de la capacidad extra y liberar tanta memoria como sea posible, llame a squeeze() después del último cambio en el tamaño de la cadena.
Véase también replace().
QString &QString::remove(qsizetype position, qsizetype n)
Elimina n caracteres de la cadena, comenzando en el índice position dado, y devuelve una referencia a la cadena.
Si el índice position especificado está dentro de la cadena, pero position + n está más allá del final de la cadena, la cadena se trunca en el índice position especificado.
Si n es <= 0 no se modifica nada.
QString s = "Montreal"; s.remove(1, 4); // s == "Meal"
La eliminación de elementos preservará la capacidad de la cadena y no reducirá la cantidad de memoria asignada. Para deshacerse de la capacidad extra y liberar tanta memoria como sea posible, llame a squeeze() después del último cambio en el tamaño de la cadena.
Véase también insert() y replace().
QString &QString::remove(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Elimina cada ocurrencia de la cadena Latin-1 dada vista por str de esta cadena, y devuelve una referencia a esta cadena.
Si cs es Qt::CaseSensitive (el valor predeterminado), la búsqueda distingue entre mayúsculas y minúsculas; de lo contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Esto es lo mismo que replace(str, "", cs).
La eliminación de elementos preservará la capacidad de la cadena y no reducirá la cantidad de memoria asignada. Para deshacerse de la capacidad extra y liberar tanta memoria como sea posible, llame a squeeze() después del último cambio en el tamaño de la cadena.
Se trata de una función sobrecargada.
Véase también replace().
[since 6.5] QString &QString::removeAt(qsizetype pos)
Elimina el carácter en el índice pos. Si pos está fuera de los límites (es decir, pos >= size()), esta función no hace nada.
Esta función se introdujo en Qt 6.5.
Véase también remove().
[since 6.5] QString &QString::removeFirst()
Elimina el primer carácter de esta cadena. Si la cadena está vacía, esta función no hace nada.
Esta función se introdujo en Qt 6.5.
Véase también remove().
[since 6.1] template <typename Predicate> QString &QString::removeIf(Predicate pred)
Elimina de la cadena todos los elementos para los que el predicado pred devuelve verdadero. Devuelve una referencia a la cadena.
Esta función se introdujo en Qt 6.1.
Véase también remove().
[since 6.5] QString &QString::removeLast()
Elimina el último carácter de esta cadena. Si la cadena está vacía, esta función no hace nada.
Esta función se introdujo en Qt 6.5.
Véase también remove().
QString::reverse_iterator QString::rend()
Devuelve un iterador inverso estilo STL que apunta justo después del último carácter de la cadena, en orden inverso.
Advertencia: El iterador devuelto se invalida al separarse o cuando se modifica QString.
Véase también end(), crend(), y rbegin().
QString::const_reverse_iterator QString::rend() const
Se trata de una función sobrecargada.
QString QString::repeated(qsizetype times) const
Devuelve una copia de esta cadena repetida el número especificado de times.
Si times es menor que 1, se devuelve una cadena vacía.
Ejemplo:
QString str("ab"); str.repeated(4); // returns "abababab"
QString &QString::replace(qsizetype position, qsizetype n, const QString &after)
Sustituye los caracteres de n que comienzan en el índice position por la cadena after y devuelve una referencia a esta cadena.
Nota: Si el índice position especificado está dentro de la cadena, pero position + n se sale del rango de la cadena, entonces n se ajustará para detenerse al final de la cadena.
Ejemplo:
Véase también insert() y remove().
QString &QString::replace(const QRegularExpression &re, const QString &after)
Sustituye cada aparición de la expresión regular re en la cadena por after. Devuelve una referencia a la cadena. Por ejemplo:
QString s = "Banana"; s.replace(QRegularExpression("a[mn]"), "ox"); // s == "Boxoxa"
Para las expresiones regulares que contienen grupos de captura, las apariciones de \1, \2..., en after se sustituyen por la cadena capturada por el grupo de captura correspondiente.
QString t = "A <i>bon mot</i>."; t.replace(QRegularExpression("<i>([^<]*)</i>"), "\\emph{\\1}"); // t == "A \\emph{bon mot}."
Esta función sobrecarga QString::replace().
Véase también indexOf(), lastIndexOf(), remove(), QRegularExpression, y QRegularExpressionMatch.
QString &QString::replace(QChar before, QChar after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Sustituye cada aparición del carácter before por el carácter after y devuelve una referencia a esta cadena.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Esta función sobrecarga QString::replace().
QString &QString::replace(QChar c, QLatin1StringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Sustituye cada aparición del carácter c por la cadena after y devuelve una referencia a esta cadena.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Nota: El texto no se vuelve a buscar después de una sustitución.
Esta función sobrecarga QString::replace().
QString &QString::replace(QChar ch, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Sustituye cada aparición del carácter ch en la cadena por after y devuelve una referencia a esta cadena.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Esta función sobrecarga QString::replace().
QString &QString::replace(QLatin1StringView before, QLatin1StringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Sustituye cada aparición en esta cadena de la cadena Latin-1 vista por before por la cadena Latin-1 vista por after, y devuelve una referencia a esta cadena.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Nota : El texto no se vuelve a buscar después de una sustitución.
Nota: Si utiliza un argumento before vacío, el argumento after se insertará antes y después de cada carácter de la cadena.
Esta función sobrecarga QString::replace().
QString &QString::replace(QLatin1StringView before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Sustituye cada aparición en esta cadena de la cadena Latin-1 vista por before por la cadena after, y devuelve una referencia a esta cadena.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Nota : El texto no se vuelve a buscar después de una sustitución.
Nota: Si utiliza un argumento before vacío, el argumento after se insertará antes y después de cada carácter de la cadena.
Esta función sobrecarga QString::replace().
QString &QString::replace(const QString &before, QLatin1StringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Sustituye cada aparición de la cadena before por la cadena after y devuelve una referencia a esta cadena.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Nota : El texto no se vuelve a buscar después de una sustitución.
Nota: Si utiliza un argumento before vacío, el argumento after se insertará antes y después de cada carácter de la cadena.
Esta función sobrecarga QString::replace().
QString &QString::replace(const QString &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Sustituye cada aparición de la cadena before por la cadena after y devuelve una referencia a esta cadena.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, no distingue entre mayúsculas y minúsculas.
Ejemplo:
QString str = "colour behaviour flavour neighbour"; str.replace(QString("ou"), QString("o")); // str == "color behavior flavor neighbor"
Nota: El texto de sustitución no se vuelve a buscar una vez insertado.
Ejemplo:
QString equis = "xxxxxx"; equis.replace("xx", "x"); // equis == "xxx"
Nota: Si utiliza un argumento before vacío, el argumento after se insertará antes y después de cada carácter de la cadena.
Esta función sobrecarga QString::replace().
QString &QString::replace(qsizetype position, qsizetype n, QChar after)
Sustituye los caracteres de n que comienzan en el índice position por el carácter after y devuelve una referencia a esta cadena.
Esta función sobrecarga QString::replace().
QString &QString::replace(qsizetype position, qsizetype n, const QChar *after, qsizetype alen)
Sustituye los caracteres de n que comienzan en el índice position por los primeros caracteres de alen de la matriz QChar after y devuelve una referencia a esta cadena.
n no debe ser negativo.
Esta función sobrecarga QString::replace().
QString &QString::replace(const QChar *before, qsizetype blen, const QChar *after, qsizetype alen, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Sustituye cada aparición en esta cadena de los primeros blen caracteres de before por los primeros alen caracteres de after y devuelve una referencia a esta cadena.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, no distingue entre mayúsculas y minúsculas.
Nota: Si before apunta a una cadena vacía (es decir, blen == 0), la cadena apuntada por after se insertará antes y después de cada carácter de esta cadena.
Esta función sobrecarga QString::replace().
void QString::reserve(qsizetype size)
Asegura que la cadena tiene espacio para al menos size caracteres.
Si conoce de antemano el tamaño que tendrá una cadena, puede llamar a esta función para ahorrarse la reasignación repetida mientras la construye. Esto puede mejorar el rendimiento cuando se construye una cadena de forma incremental. Una larga secuencia de operaciones que se suman a una cadena puede desencadenar varias reasignaciones, la última de las cuales puede dejarte con bastante más espacio del que necesitas. Esto es menos eficiente que hacer una única asignación del tamaño adecuado al principio.
En caso de duda sobre cuánto espacio se necesitará, suele ser mejor utilizar un límite superior como size, o una estimación alta del tamaño más probable, si un límite superior estricto fuera mucho mayor que éste. Si size es una subestimación, la cadena crecerá según sea necesario una vez que se exceda el tamaño reservado, lo que puede llevar a una asignación mayor que la que tendría su mejor sobreestimación y ralentizará la operación que la desencadena.
Advertencia: reserve() reserva memoria pero no cambia el tamaño de la cadena. Acceder a datos más allá del final de la cadena es un comportamiento indefinido. Si necesita acceder a memoria más allá del final actual de la cadena, utilice resize().
Esta función es útil para código que necesita construir una cadena larga y quiere evitar reasignaciones repetidas. En este ejemplo, queremos añadir a la cadena hasta que alguna condición sea true, y estamos bastante seguros de que el tamaño es lo suficientemente grande como para que una llamada a reserve() merezca la pena:
QString result; qsizetype maxSize; bool condition; QChar nextChar; result.reserve(maxSize); while (condition) result.append(nextChar); result.squeeze();
Véase también squeeze(), capacity(), y resize().
void QString::resize(qsizetype size)
Establece el tamaño de la cadena en size caracteres.
Si size es mayor que el tamaño actual, la cadena se amplía para que tenga size caracteres y los caracteres adicionales se añaden al final. Los nuevos caracteres no se inicializan.
Si size es menor que el tamaño actual, los caracteres más allá de la posición size se excluyen de la cadena.
Nota: Aunque resize() aumentará la capacidad si es necesario, nunca la reducirá. Para deshacerse del exceso de capacidad, utilice squeeze().
Ejemplo:
QString s = "Hello world"; s.resize(5); // s == "Hello" s.resize(8); // s == "Hello???" (where ? stands for any character)
Si desea añadir un cierto número de caracteres idénticos a la cadena, utilice la sobrecarga resize(qsizetype, QChar).
Si desea expandir la cadena para que alcance una determinada anchura y rellenar las nuevas posiciones con un carácter concreto, utilice la función leftJustified():
Si size es negativo, equivale a pasar cero.
QString r = "Hello"; r = r.leftJustified(10, ' '); // r == "Hello "
Véase también truncate(), reserve() y squeeze().
void QString::resize(qsizetype newSize, QChar fillChar)
A diferencia de resize(qsizetype), esta sobrecarga inicializa los nuevos caracteres a fillChar:
QString t = "Hello"; t.resize(t.size() + 10, 'X'); // t == "HelloXXXXXXXXXX"
Esta es una función sobrecargada.
[since 6.8] void QString::resizeForOverwrite(qsizetype size)
Establece el tamaño de la cadena en size caracteres. Si el tamaño de la cadena crece, los nuevos caracteres no se inicializan.
El comportamiento es idéntico al de resize(size).
Esta función se introdujo en Qt 6.8.
Véase también resize().
Devuelve una subcadena que contiene los n caracteres situados más a la derecha de la cadena.
Si sabe que n no puede estar fuera de los límites, utilice last() en su lugar en código nuevo, porque es más rápido.
Se devuelve la cadena completa si n es mayor o igual que size(), o menor que cero.
Véase también endsWith(), last(), first(), sliced(), chopped(), chop(), truncate(), y slice().
QString QString::rightJustified(qsizetype width, QChar fill = u' ', bool truncate = false) const
Devuelve una cadena de size() width que contiene el carácter fill seguido de la cadena. Por ejemplo:
Si truncate es false y el size() de la cadena es mayor que width, entonces la cadena devuelta es una copia de la cadena.
Si truncate es verdadero y el size() de la cadena es mayor que width, entonces la cadena resultante se trunca en la posición width.
QString str = "Pineapple"; str = str.rightJustified(5, '.', true); // str == "Pinea"
Véase también leftJustified().
QString QString::section(QChar sep, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const
Esta función devuelve una sección de la cadena.
Esta cadena se trata como una secuencia de campos separados por el carácter, sep. La cadena devuelta consta de los campos desde la posición start hasta la posición end inclusive. Si no se especifica end, se incluyen todos los campos desde la posición start hasta el final de la cadena. Los campos se numeran 0, 1, 2, etc., contando desde la izquierda, y -1, -2, etc., contando de derecha a izquierda.
El argumento flags puede utilizarse para influir en algunos aspectos del comportamiento de la función, por ejemplo, si debe distinguir entre mayúsculas y minúsculas, si debe omitir los campos vacíos y cómo tratar los separadores iniciales y finales; véase SectionFlags.
QString str; QString csv = "forename,middlename,surname,phone"; QString path = "/usr/local/bin/myapp"; // First field is empty QString::SectionFlag flag = QString::SectionSkipEmpty; str = csv.section(',', 2, 2); // str == "surname" str = path.section('/', 3, 4); // str == "bin/myapp" str = path.section('/', 3, 3, flag); // str == "myapp"
Si start o end es negativo, contamos los campos desde la derecha de la cadena, siendo el campo situado más a la derecha -1, el situado más a la derecha -2, y así sucesivamente.
str = csv.section(',', -3, -2); // str == "middlename,surname" str = path.section('/', -1); // str == "myapp"
Véase también split().
QString QString::section(const QRegularExpression &re, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const
Esta cadena se trata como una secuencia de campos separados por la expresión regular, re.
QString line = "forename\tmiddlename surname \t \t phone"; QRegularExpression sep("\\s+"); str = line.section(sep, 2, 2); // str == "surname" str = line.section(sep, -3, -2); // str == "middlename surname"
Atención: El uso de esta versión QRegularExpression es mucho más costoso que las versiones sobrecargadas string y character.
Esta función sobrecarga QString::section().
Véase también split() y simplified().
QString QString::section(const QString &sep, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const
QString str; QString data = "forename**middlename**surname**phone"; str = data.section("**", 2, 2); // str == "surname" str = data.section("**", -3, -2); // str == "middlename**surname"
Esta función sobrecarga QString::section().
Véase también split().
QString &QString::setNum(int n, int base = 10)
Establece la cadena al valor impreso de n en el base especificado, y devuelve una referencia a la cadena.
La base es 10 por defecto y debe estar entre 2 y 36.
QString str; str.setNum(1234); // str == "1234"
El formato siempre utiliza QLocale::C, es decir, English/UnitedStates. Para obtener una representación de cadena localizada de un número, utilice QLocale::toString() con la configuración regional adecuada.
Véase también number().
QString &QString::setNum(long n, int base = 10)
Se trata de una función sobrecargada.
QString &QString::setNum(qlonglong n, int base = 10)
Se trata de una función sobrecargada.
QString &QString::setNum(qulonglong n, int base = 10)
Se trata de una función sobrecargada.
QString &QString::setNum(short n, int base = 10)
Se trata de una función sobrecargada.
QString &QString::setNum(uint n, int base = 10)
Se trata de una función sobrecargada.
QString &QString::setNum(ulong n, int base = 10)
Se trata de una función sobrecargada.
QString &QString::setNum(ushort n, int base = 10)
Se trata de una función sobrecargada.
QString &QString::setNum(double n, char format = 'g', int precision = 6)
Establece la cadena al valor impreso de n, formateado según los valores dados format y precision, y devuelve una referencia a la cadena.
Se trata de una función sobrecargada.
Véase también number(), QLocale::FloatingPointPrecisionOption, y Number formats.
QString &QString::setNum(float n, char format = 'g', int precision = 6)
Establece la cadena con el valor impreso de n, formateado según los valores dados format y precision, y devuelve una referencia a la cadena.
El formato siempre utiliza QLocale::C, es decir, English/UnitedStates. Para obtener una representación de cadena localizada de un número, utilice QLocale::toString() con la configuración regional apropiada.
Se trata de una función sobrecargada.
Véase también number().
QString &QString::setRawData(const QChar *unicode, qsizetype size)
Restablece QString para utilizar los primeros caracteres Unicode de size en la matriz unicode. Los datos de unicode no se copian. El llamante debe poder garantizar que unicode no se borrará ni modificará mientras exista QString (o una copia no modificada del mismo).
Esta función puede utilizarse en lugar de fromRawData() para reutilizar objetos QString existentes y ahorrar reasignaciones de memoria.
Véase también fromRawData(), nullTerminate() y nullTerminated().
QString &QString::setUnicode(const QChar *unicode, qsizetype size)
Redimensiona la cadena a size caracteres y copia unicode en la cadena.
Si unicode es nullptr, no se copia nada, pero la cadena se redimensiona a size.
Véase también unicode() y setUtf16().
[since 6.9] QString &QString::setUnicode(const char16_t *unicode, qsizetype size)
Esta es una función sobrecargada.
Esta función se introdujo en Qt 6.9.
Véase también unicode() y setUtf16().
[since 6.9] QString &QString::setUtf16(const char16_t *unicode, qsizetype size)
Redimensiona la cadena a size caracteres y copia unicode en la cadena.
Si unicode es nullptr, no se copia nada, pero la cadena se redimensiona a size.
Tenga en cuenta que, a diferencia de fromUtf16(), esta función no tiene en cuenta las listas de materiales ni las posibles diferencias en el orden de los bytes.
Esta función se introdujo en Qt 6.9.
Véase también utf16() y setUnicode().
void QString::shrink_to_fit()
Esta función se proporciona por compatibilidad con STL. Es equivalente a squeeze().
Véase también squeeze().
QString QString::simplified() const
Devuelve una cadena a la que se le han eliminado los espacios en blanco del principio y del final, y a la que se le ha sustituido cada secuencia de espacios en blanco internos por un único espacio.
Por espacio en blanco se entiende cualquier carácter para el que QChar::isSpace() devuelva true. Esto incluye los caracteres ASCII '\t', '\n', '\v', '\f', '\r', y ' '.
Ejemplo:
QString str = " lots\t of\nwhitespace\r\n "; str = str.simplified(); // str == "lots of whitespace";
Véase también trimmed().
[constexpr noexcept] qsizetype QString::size() const
Devuelve el número de caracteres de esta cadena.
El último carácter de la cadena se encuentra en la posición size() - 1.
Ejemplo:
QString str = "World"; qsizetype n = str.size(); // n == 5 str.data()[0]; // returns 'W' str.data()[4]; // returns 'd'
Véase también isEmpty() y resize().
[since 6.8] QString &QString::slice(qsizetype pos, qsizetype n)
Modifica esta cadena para que comience en la posición pos, hasta, pero sin incluir, el carácter (punto de código) en la posición de índice \a pos + n; y devuelve una referencia a esta cadena.
Nota: El comportamiento es indefinido si pos < 0, n < 0, o pos + n > size().
QString x = u"Nine pineapples"_s; x.slice(5); // x == "pineapples" x.slice(4, 3); // x == "app"
Esta función se introdujo en Qt 6.8.
Véase también sliced(), first(), last(), chopped(), chop(), y truncate().
[since 6.8] QString &QString::slice(qsizetype pos)
Modifica esta cadena para que comience en la posición pos y se extienda hasta su final, y devuelve una referencia a esta cadena.
Nota: El comportamiento es indefinido si pos < 0 o pos > size().
Esta es una función sobrecargada.
Esta función se introdujo en Qt 6.8.
Véase también sliced(), first(), last(), chopped(), chop(), y truncate().
[since 6.0] QString QString::sliced(qsizetype pos, qsizetype n) const &
[since 6.0] QString QString::sliced(qsizetype pos, qsizetype n) &&
Devuelve una cadena que contiene n caracteres de esta cadena, comenzando en la posición pos hasta, pero sin incluir, el elemento en la posición de índice \a pos + n.
Nota: El comportamiento es indefinido cuando pos < 0, n < 0, o pos + n > size().
QString x = "Nine pineapples"; QString y = x.sliced(5, 4); // y == "pine" QString z = x.sliced(5); // z == "pineapples"
Estas funciones se introdujeron en Qt 6.0.
Véase también first(), last(), chopped(), chop(), truncate(), y slice().
[since 6.0] QString QString::sliced(qsizetype pos) const &
[since 6.0] QString QString::sliced(qsizetype pos) &&
Devuelve una cadena que contiene la porción de esta cadena que comienza en la posición pos y se extiende hasta su final.
Nota: El comportamiento es indefinido cuando pos < 0 o pos > size().
Estas funciones se introdujeron en Qt 6.0.
Véase también first(), last(), chopped(), chop(), truncate(), y slice().
QStringList QString::split(const QString &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Divide la cadena en subcadenas dondequiera que aparezca sep y devuelve la lista de esas cadenas. Si sep no coincide en ninguna parte de la cadena, split() devuelve una lista de un solo elemento que contiene esta cadena.
cs especifica si sep debe coincidir con mayúsculas o minúsculas.
Si behavior es Qt::SkipEmptyParts, las entradas vacías no aparecen en el resultado. Por defecto, se mantienen las entradas vacías.
Ejemplo:
QString str = QStringLiteral("a,,b,c"); QStringList list1 = str.split(u','); // list1: [ "a", "", "b", "c" ] QStringList list2 = str.split(u',', Qt::SkipEmptyParts); // list2: [ "a", "b", "c" ]
Si sep está vacío, split() devuelve una cadena vacía, seguida de cada uno de los caracteres de la cadena, seguidos de otra cadena vacía:
Para entender este comportamiento, recuerde que la cadena vacía coincide en todas partes, por lo que lo anterior es cualitativamente lo mismo que:
QString str = "/a/b/c/"; auto parts = str.split(u'/'); // parts: {"", "a", "b", "c", ""}
Véase también QStringList::join() y section().
QStringList QString::split(const QRegularExpression &re, Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const
Divide la cadena en subcadenas siempre que la expresión regular re coincida, y devuelve la lista de esas cadenas. Si re no coincide en ninguna parte de la cadena, split() devuelve una lista de un solo elemento que contiene esta cadena.
He aquí un ejemplo en el que extraemos las palabras de una frase utilizando uno o más caracteres de espacio en blanco como separador:
QString str; QStringList list; str = "Some text\n\twith strange whitespace."; list = str.split(QRegularExpression("\\s+")); // list: [ "Some", "text", "with", "strange", "whitespace." ]
He aquí un ejemplo similar, pero esta vez utilizamos cualquier secuencia de caracteres que no sean palabras como separador:
str = "This time, a normal English sentence."; list = str.split(QRegularExpression("\\W+"), Qt::SkipEmptyParts); // list: [ "This", "time", "a", "normal", "English", "sentence" ]
He aquí un tercer ejemplo en el que utilizamos una afirmación de longitud cero, \b (límite de palabra), para dividir la cadena en una secuencia alterna de tokens de palabras y no palabras:
str = "Now: this sentence fragment."; list = str.split(QRegularExpression("\\b")); // list: [ "", "Now", ": ", "this", " ", "sentence", " ", "fragment", "." ]
Se trata de una función sobrecargada.
Véase también QStringList::join() y section().
QStringList QString::split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Se trata de una función sobrecargada.
void QString::squeeze()
Libera la memoria no necesaria para almacenar los datos de caracteres.
El único propósito de esta función es proporcionar un medio para ajustar el uso de memoria de QString. En general, rara vez necesitará llamar a esta función.
Véase también reserve() y capacity().
bool QString::startsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve true si la cadena empieza por s; en caso contrario devuelve false.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
QString str = "Bananas"; str.startsWith("Ban"); // returns true str.startsWith("Car"); // returns false
Véase también endsWith().
bool QString::startsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve true si la cadena empieza por c; en caso contrario devuelve false.
Esta función sobrecarga QString::startsWith().
bool QString::startsWith(QLatin1StringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Esta función sobrecarga QString::startsWith().
[noexcept] bool QString::startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve true si la cadena empieza por la vista de cadena str; en caso contrario devuelve false.
Si cs es Qt::CaseSensitive (por defecto), la búsqueda distingue entre mayúsculas y minúsculas; en caso contrario, la búsqueda no distingue entre mayúsculas y minúsculas.
Se trata de una función sobrecargada.
Véase también endsWith().
[noexcept] void QString::swap(QString &other)
Intercambia esta cadena con other. Esta operación es muy rápida y nunca falla.
CFStringRef QString::toCFString() const
Crea un CFString a partir de QString.
El invocador es el propietario de la CFString y es responsable de liberarla.
Nota: esta función solo está disponible en macOS e iOS.
QString QString::toCaseFolded() const
Devuelve el equivalente entre mayúsculas y minúsculas de la cadena. Para la mayoría de los caracteres Unicode es lo mismo que toLower().
double QString::toDouble(bool *ok = nullptr) const
Devuelve la cadena convertida a un valor double.
Devuelve un infinito si la conversión se desborda o 0.0 si la conversión falla por otras razones (por ejemplo, desbordamiento por defecto).
Si ok no es nullptr, se informa del fallo estableciendo *ok en false, y del éxito estableciendo *ok en true.
QString str = "1234.56"; double val = str.toDouble(); // val == 1234.56
Advertencia: El contenido de QString sólo puede contener caracteres numéricos válidos, lo que incluye el signo más/menos, el carácter e utilizado en notación científica y el punto decimal. La inclusión de la unidad o de caracteres adicionales provoca un error de conversión.
bool ok; double d; d = QString( "1234.56e-02" ).toDouble(&ok); // ok == true, d == 12.3456 d = QString( "1234.56e-02 Volt" ).toDouble(&ok); // ok == false, d == 0
La conversión de cadenas se realizará siempre en la configuración regional "C". Para una conversión dependiente de la configuración regional, utilice QLocale::toDouble()
d = QString( "1234,56" ).toDouble(&ok); // ok == false d = QString( "1234.56" ).toDouble(&ok); // ok == true, d == 1234.56
Por razones históricas, esta función no maneja separadores de grupos de miles. Si necesita convertir tales números, utilice QLocale::toDouble().
d = QString( "1,234,567.89" ).toDouble(&ok); // ok == false d = QString( "1234567.89" ).toDouble(&ok); // ok == true
Esta función ignora los espacios en blanco iniciales y finales.
Véase también number(), QLocale::setDefault(), QLocale::toDouble() y trimmed().
[since 6.6] emscripten::val QString::toEcmaString() const
Convierte este objeto en una cadena ECMAScript.
Esta función se introdujo en Qt 6.6.
Véase también fromEcmaString().
float QString::toFloat(bool *ok = nullptr) const
Devuelve la cadena convertida a un valor float.
Devuelve un infinito si la conversión se desborda o 0.0 si la conversión falla por otras razones (por ejemplo, desbordamiento por defecto).
Si ok no es nullptr, se informa del fallo estableciendo *ok en false, y del éxito estableciendo *ok en true.
Advertencia: El contenido de QString sólo puede contener caracteres numéricos válidos, lo que incluye el signo más/menos, el carácter e utilizado en notación científica y el punto decimal. La inclusión de la unidad o de caracteres adicionales provoca un error de conversión.
La conversión de cadenas se realizará siempre en la configuración regional "C". Para una conversión dependiente de la configuración regional, utilice QLocale::toFloat()
Por razones históricas, esta función no maneja separadores de grupos de miles. Si necesita convertir tales números, utilice QLocale::toFloat().
Ejemplo:
QString str1 = "1234.56"; str1.toFloat(); // returns 1234.56 bool ok; QString str2 = "R2D2"; str2.toFloat(&ok); // returns 0.0, sets ok to false QString str3 = "1234.56 Volt"; str3.toFloat(&ok); // returns 0.0, sets ok to false
Esta función ignora los espacios en blanco iniciales y finales.
Véase también number(), toDouble(), toInt(), QLocale::toFloat() y trimmed().
QString QString::toHtmlEscaped() const
Convierte una cadena de texto plano en una cadena HTML con metacaracteres HTML <, >, &, y " sustituidos por entidades HTML.
Ejemplo:
QString plain = "#include <QtCore>"; QString html = plain.toHtmlEscaped(); // html == "#include <QtCore>"
int QString::toInt(bool *ok = nullptr, int base = 10) const
Devuelve la cadena convertida a un int usando la base base, que es 10 por defecto y debe estar entre 2 y 36, o 0. Devuelve 0 si la conversión falla.
Si ok no es nullptr, se informa del fallo estableciendo *ok en false, y del éxito estableciendo *ok en true.
Si base es 0, se utiliza la convención del lenguaje C: si la cadena empieza por "0x", se utiliza base 16; en caso contrario, si la cadena empieza por "0b", se utiliza base 2; en caso contrario, si la cadena empieza por "0", se utiliza base 8; en caso contrario, se utiliza base 10.
La conversión de la cadena siempre se realizará en la configuración regional "C". Para una conversión dependiente de la configuración regional, utilice QLocale::toInt()
Ejemplo:
QString str = "FF"; bool ok; int hex = str.toInt(&ok, 16); // hex == 255, ok == true int dec = str.toInt(&ok, 10); // dec == 0, ok == false
Esta función ignora los espacios en blanco iniciales y finales.
Nota: En Qt 6.4 se añadió soporte para el prefijo "0b".
Véase también number(), toUInt(), toDouble(), y QLocale::toInt().
QByteArray QString::toLatin1() const
Devuelve una representación Latin-1 de la cadena como QByteArray.
La matriz de bytes devuelta es indefinida si la cadena contiene caracteres no latinos1. Estos caracteres pueden suprimirse o sustituirse por un signo de interrogación.
Véase también fromLatin1(), toUtf8(), toLocal8Bit() y QStringEncoder.
QByteArray QString::toLocal8Bit() const
Devuelve la representación local de 8 bits de la cadena como QByteArray.
En sistemas Unix equivale a toUtf8(). Tenga en cuenta que en los sistemas Apple esta función no tiene en cuenta NSString.defaultCStringEncoding o CFStringGetSystemEncoding(), ya que estas funciones suelen devolver la codificación heredada "Western (Mac OS Roman)", que no debería utilizarse en los sistemas operativos Apple modernos. En Windows se utiliza la página de códigos actual del sistema.
Si esta cadena contiene caracteres que no pueden codificarse en la codificación local de 8 bits, la matriz de bytes devuelta es indefinida. Estos caracteres pueden suprimirse o sustituirse por otros.
Véase también fromLocal8Bit(), toLatin1(), toUtf8(), y QStringEncoder.
long QString::toLong(bool *ok = nullptr, int base = 10) const
Devuelve la cadena convertida a long usando la base base, que es 10 por defecto y debe estar entre 2 y 36, o 0. Devuelve 0 si la conversión falla.
Si ok no es nullptr, se informa del fallo estableciendo *ok en false, y del éxito estableciendo *ok en true.
Si base es 0, se utiliza la convención del lenguaje C: si la cadena empieza por "0x", se utiliza base 16; en caso contrario, si la cadena empieza por "0b", se utiliza base 2; en caso contrario, si la cadena empieza por "0", se utiliza base 8; en caso contrario, se utiliza base 10.
La conversión de la cadena siempre se realizará en la configuración regional "C". Para una conversión dependiente de la configuración regional, utilice QLocale::toLongLong()
Ejemplo:
QString str = "FF"; bool ok; long hex = str.toLong(&ok, 16); // hex == 255, ok == true long dec = str.toLong(&ok, 10); // dec == 0, ok == false
Esta función ignora los espacios en blanco iniciales y finales.
Nota: En Qt 6.4 se añadió soporte para el prefijo "0b".
Véase también number(), toULong(), toInt(), y QLocale::toInt().
qlonglong QString::toLongLong(bool *ok = nullptr, int base = 10) const
Devuelve la cadena convertida a long long usando la base base, que es 10 por defecto y debe estar entre 2 y 36, o 0. Devuelve 0 si la conversión falla.
Si ok no es nullptr, se informa del fallo estableciendo *ok en false, y del éxito estableciendo *ok en true.
Si base es 0, se utiliza la convención del lenguaje C: si la cadena empieza por "0x", se utiliza base 16; en caso contrario, si la cadena empieza por "0b", se utiliza base 2; en caso contrario, si la cadena empieza por "0", se utiliza base 8; en caso contrario, se utiliza base 10.
La conversión de la cadena siempre se realizará en la configuración regional "C". Para una conversión dependiente de la configuración regional, utilice QLocale::toLongLong()
Ejemplo:
QString str = "FF"; bool ok; qint64 hex = str.toLongLong(&ok, 16); // hex == 255, ok == true qint64 dec = str.toLongLong(&ok, 10); // dec == 0, ok == false
Esta función ignora los espacios en blanco iniciales y finales.
Nota: En Qt 6.4 se añadió soporte para el prefijo "0b".
Véase también number(), toULongLong(), toInt(), y QLocale::toLongLong().
QString QString::toLower() const
Devuelve una copia en minúsculas de la cadena.
QString str = "The Qt PROJECT"; str = str.toLower(); // str == "the qt project"
La conversión de mayúsculas y minúsculas se realizará siempre en la configuración regional 'C'. Para doblar mayúsculas y minúsculas dependiendo de la localización, utilice QLocale::toLower()
Véase también toUpper() y QLocale::toLower().
NSString *QString::toNSString() const
Crea una cadena NSString a partir de QString.
La cadena NSString se libera automáticamente.
Nota: esta función solo está disponible en macOS e iOS.
short QString::toShort(bool *ok = nullptr, int base = 10) const
Devuelve la cadena convertida a short usando la base base, que es 10 por defecto y debe estar entre 2 y 36, o 0. Devuelve 0 si la conversión falla.
Si ok no es nullptr, se informa del fallo estableciendo *ok en false, y del éxito estableciendo *ok en true.
Si base es 0, se utiliza la convención del lenguaje C: si la cadena empieza por "0x", se utiliza base 16; en caso contrario, si la cadena empieza por "0b", se utiliza base 2; en caso contrario, si la cadena empieza por "0", se utiliza base 8; en caso contrario, se utiliza base 10.
La conversión de la cadena siempre se realizará en la configuración regional "C". Para una conversión dependiente de la configuración regional, utilice QLocale::toShort()
Ejemplo:
QString str = "FF"; bool ok; short hex = str.toShort(&ok, 16); // hex == 255, ok == true short dec = str.toShort(&ok, 10); // dec == 0, ok == false
Esta función ignora los espacios en blanco iniciales y finales.
Nota: En Qt 6.4 se añadió soporte para el prefijo "0b".
Véase también number(), toUShort(), toInt(), y QLocale::toShort().
std::string QString::toStdString() const
Devuelve un objeto std::string con los datos contenidos en este QString. Los datos Unicode se convierten en caracteres de 8 bits mediante la función toUtf8().
Este método es útil sobre todo para pasar un QString a una función que acepte un objeto std::string.
Véase también toLatin1(), toUtf8(), toLocal8Bit() y QByteArray::toStdString().
std::u16string QString::toStdU16String() const
Devuelve un objeto std::u16string con los datos contenidos en este QString. Los datos Unicode son los mismos que devuelve el método utf16().
Véase también utf16(), toStdWString() y toStdU32String().
std::u32string QString::toStdU32String() const
Devuelve un objeto std::u32string con los datos contenidos en este QString. Los datos Unicode son los mismos que devuelve el método toUcs4().
Véase también toUcs4(), toStdWString() y toStdU16String().
std::wstring QString::toStdWString() const
Devuelve un objeto std::wstring con los datos contenidos en este QString. La cadena std::wstring está codificada en UTF-16 en plataformas donde wchar_t tiene 2 bytes de ancho (por ejemplo, Windows) y en UTF-32 en plataformas donde wchar_t tiene 4 bytes de ancho (la mayoría de los sistemas Unix).
Este método es útil sobre todo para pasar un QString a una función que acepte un objeto std::wstring.
Véase también utf16(), toLatin1(), toUtf8(), toLocal8Bit(), toStdU16String() y toStdU32String().
uint QString::toUInt(bool *ok = nullptr, int base = 10) const
Devuelve la cadena convertida a un unsigned int usando la base base, que es 10 por defecto y debe estar entre 2 y 36, o 0. Devuelve 0 si la conversión falla.
Si ok no es nullptr, se informa del fallo estableciendo *ok en false, y del éxito estableciendo *ok en true.
Si base es 0, se utiliza la convención del lenguaje C: si la cadena empieza por "0x", se utiliza base 16; en caso contrario, si la cadena empieza por "0b", se utiliza base 2; en caso contrario, si la cadena empieza por "0", se utiliza base 8; en caso contrario, se utiliza base 10.
La conversión de la cadena siempre se realizará en la configuración regional "C". Para una conversión dependiente de la configuración regional, utilice QLocale::toUInt()
Ejemplo:
QString str = "FF"; bool ok; uint hex = str.toUInt(&ok, 16); // hex == 255, ok == true uint dec = str.toUInt(&ok, 10); // dec == 0, ok == false
Esta función ignora los espacios en blanco iniciales y finales.
Nota: En Qt 6.4 se añadió soporte para el prefijo "0b".
Véase también number(), toInt(), y QLocale::toUInt().
ulong QString::toULong(bool *ok = nullptr, int base = 10) const
Devuelve la cadena convertida a un unsigned long usando la base base, que es 10 por defecto y debe estar entre 2 y 36, o 0. Devuelve 0 si la conversión falla.
Si ok no es nullptr, se informa del fallo estableciendo *ok en false, y del éxito estableciendo *ok en true.
Si base es 0, se utiliza la convención del lenguaje C: si la cadena empieza por "0x", se utiliza base 16; en caso contrario, si la cadena empieza por "0b", se utiliza base 2; en caso contrario, si la cadena empieza por "0", se utiliza base 8; en caso contrario, se utiliza base 10.
La conversión de la cadena siempre se realizará en la configuración regional "C". Para una conversión dependiente de la configuración regional, utilice QLocale::toULongLong()
Ejemplo:
QString str = "FF"; bool ok; ulong hex = str.toULong(&ok, 16); // hex == 255, ok == true ulong dec = str.toULong(&ok, 10); // dec == 0, ok == false
Esta función ignora los espacios en blanco iniciales y finales.
Nota: En Qt 6.4 se añadió soporte para el prefijo "0b".
Véase también number() y QLocale::toUInt().
qulonglong QString::toULongLong(bool *ok = nullptr, int base = 10) const
Devuelve la cadena convertida a un unsigned long long usando la base base, que es 10 por defecto y debe estar entre 2 y 36, o 0. Devuelve 0 si la conversión falla.
Si ok no es nullptr, se informa del fallo estableciendo *ok en false, y del éxito estableciendo *ok en true.
Si base es 0, se utiliza la convención del lenguaje C: si la cadena empieza por "0x", se utiliza base 16; en caso contrario, si la cadena empieza por "0b", se utiliza base 2; en caso contrario, si la cadena empieza por "0", se utiliza base 8; en caso contrario, se utiliza base 10.
La conversión de la cadena siempre se realizará en la configuración regional "C". Para una conversión dependiente de la configuración regional, utilice QLocale::toULongLong()
Ejemplo:
QString str = "FF"; bool ok; quint64 hex = str.toULongLong(&ok, 16); // hex == 255, ok == true quint64 dec = str.toULongLong(&ok, 10); // dec == 0, ok == false
Esta función ignora los espacios en blanco iniciales y finales.
Nota: En Qt 6.4 se añadió soporte para el prefijo "0b".
Véase también number(), toLongLong(), y QLocale::toULongLong().
ushort QString::toUShort(bool *ok = nullptr, int base = 10) const
Devuelve la cadena convertida a un unsigned short usando la base base, que es 10 por defecto y debe estar entre 2 y 36, o 0. Devuelve 0 si la conversión falla.
Si ok no es nullptr, se informa del fallo estableciendo *ok en false, y del éxito estableciendo *ok en true.
Si base es 0, se utiliza la convención del lenguaje C: si la cadena empieza por "0x", se utiliza base 16; en caso contrario, si la cadena empieza por "0b", se utiliza base 2; en caso contrario, si la cadena empieza por "0", se utiliza base 8; en caso contrario, se utiliza base 10.
La conversión de la cadena siempre se realizará en la configuración regional "C". Para una conversión dependiente de la configuración regional, utilice QLocale::toUShort()
Ejemplo:
QString str = "FF"; bool ok; ushort hex = str.toUShort(&ok, 16); // hex == 255, ok == true ushort dec = str.toUShort(&ok, 10); // dec == 0, ok == false
Esta función ignora los espacios en blanco iniciales y finales.
Nota: En Qt 6.4 se añadió soporte para el prefijo "0b".
Véase también number(), toShort(), y QLocale::toUShort().
QList<uint> QString::toUcs4() const
Devuelve una representación UCS-4/UTF-32 de la cadena como QList<uint>.
UTF-32 es un códec Unicode y, por lo tanto, no tiene pérdidas. Todos los caracteres de esta cadena se codificarán en UTF-32. Cualquier secuencia no válida de unidades de código en esta cadena se sustituye por el carácter de sustitución Unicode (QChar::ReplacementCharacter, que corresponde a U+FFFD).
La lista devuelta no está terminada en 0.
Véase también fromUtf8(), toUtf8(), toLatin1(), toLocal8Bit(), QStringEncoder, fromUcs4(), y toWCharArray().
QString QString::toUpper() const
Devuelve una copia en mayúsculas de la cadena.
QString str = "TeXt"; str = str.toUpper(); // str == "TEXT"
La conversión de mayúsculas y minúsculas se realizará siempre en la configuración regional 'C'. Para doblar mayúsculas y minúsculas en función de la configuración regional, utilice QLocale::toUpper().
Nota: En algunos casos, la forma en mayúsculas de una cadena puede ser más larga que la original.
Nota: Desde 2024, el idioma alemán prefiere oficialmente la mayúscula ß (U+00DF LATIN SMALL LETTER SHARP S) como ẞ (U+1E9E LATIN CAPITAL LETTER SHARP S). La implementación de Qt sigue a Unicode, que sigue exigiendo el uso de "SS". Si necesita implementar las nuevas normas alemanas, deberá hacerlo manualmente en replace(u'ß', u'ẞ') antes de llamar a esta función.
Véase también toLower() y QLocale::toLower().
QByteArray QString::toUtf8() const
Devuelve una representación UTF-8 de la cadena como QByteArray.
UTF-8 es un códec Unicode y puede representar todos los caracteres de una cadena Unicode como QString.
Véase también fromUtf8(), toLatin1(), toLocal8Bit() y QStringEncoder.
qsizetype QString::toWCharArray(wchar_t *array) const
Rellena array con los datos contenidos en este objeto QString. El array está codificado en UTF-16 en plataformas donde wchar_t tiene 2 bytes de ancho (p.ej. windows) y en UTF-32 en plataformas donde wchar_t tiene 4 bytes de ancho (la mayoría de sistemas Unix).
array tiene que ser asignada por el llamante y contener suficiente espacio para contener la cadena completa (asignar la matriz con la misma longitud que la cadena es siempre suficiente).
Esta función devuelve la longitud real de la cadena en array.
Nota: Esta función no añade un carácter nulo a la matriz.
Véase también utf16(), toUcs4(), toLatin1(), toUtf8(), toLocal8Bit(), toStdWString() y QStringView::toWCharArray().
[noexcept(...), since 6.0] template <typename Needle, typename... Flags> auto QString::tokenize(Needle &&sep, Flags... flags) const &
[noexcept(...), since 6.0] template <typename Needle, typename... Flags> auto QString::tokenize(Needle &&sep, Flags... flags) const &&
[noexcept(...), since 6.0] template <typename Needle, typename... Flags> auto QString::tokenize(Needle &&sep, Flags... flags) &&
Divide la cadena en subcadenas allí donde aparece sep y devuelve una secuencia perezosa de esas cadenas.
Equivalente a
return QStringTokenizer{std::forward<Needle>(sep), flags...};
excepto que funciona sin C++17 Class Template Argument Deduction (CTAD) habilitado en el compilador.
Véase QStringTokenizer para saber cómo interactúan sep y flags para formar el resultado.
Nota: Aunque esta función devuelve QStringTokenizer, nunca, nunca, debe nombrar sus argumentos de plantilla explícitamente. Si puede utilizar la Deducción de Argumentos de Plantilla de Clase (CTAD) de C++17, puede escribir
QStringTokenizer result = sv.tokenize(sep);
(sin argumentos de plantilla). Si no puedes usar C++17 CTAD, debes almacenar el valor de retorno sólo en variables auto:
auto result = sv.tokenize(sep);
Esto se debe a que los argumentos de plantilla de QStringTokenizer tienen una dependencia muy sutil de la sobrecarga específica tokenize() desde la que se devuelven, y no suelen corresponderse con el tipo utilizado para el separador.
Estas funciones se introdujeron en Qt 6.0.
Nota: (1) es noexcept cuando noexcept(qTokenize(std::declval<const QString &>(), std::forward<Needle>(needle), flags...)) es true.
Nota: (2) es noexcept cuando noexcept(qTokenize(std::declval<const QString>(), std::forward<Needle>(needle), flags...)) es true.
Nota : (3) es noexcept cuando noexcept(qTokenize(std::declval<QString>(), std::forward<Needle>(needle), flags...)) es true.
Véase también QStringTokenizer y qTokenize().
QString QString::trimmed() const
Devuelve una cadena a la que se le han eliminado los espacios en blanco del principio y del final.
Por espacio en blanco se entiende cualquier carácter para el que QChar::isSpace() devuelva true. Esto incluye los caracteres ASCII '\t', '\n', '\v', '\f', '\r', y ' '.
Ejemplo:
QString str = " lots\t of\nwhitespace\r\n "; str = str.trimmed(); // str == "lots\t of\nwhitespace"
A diferencia de simplified(), trimmed() deja los espacios en blanco internos.
Véase también simplified().
void QString::truncate(qsizetype position)
Trunca la cadena comenzando e incluyendo el elemento en el índice position.
Si el índice position especificado está más allá del final de la cadena, no ocurre nada.
Ejemplo:
QString str = "Vladivostok"; str.truncate(4); // str == "Vlad"
Si position es negativo, equivale a pasar cero.
Véase también chop(), resize(), first() y QStringView::truncate().
const QChar *QString::unicode() const
Devuelve una representación Unicode de la cadena. El resultado será válido hasta que se modifique la cadena.
Nota: La cadena devuelta no puede ser '\0'-terminada. Utilice size() para determinar la longitud de la matriz.
Véase también setUnicode(), utf16() y fromRawData().
const ushort *QString::utf16() const
Devuelve el QString como una matriz '\0'-terminada de cortos sin signo. El resultado permanece válido hasta que se modifica la cadena.
La cadena devuelta está en el orden de bytes del host.
Véase también setUtf16() y unicode().
[static] QString QString::vasprintf(const char *cformat, va_list ap)
Método equivalente a asprintf(), pero toma una va_list ap en lugar de una lista de argumentos variables. Véase la documentación de asprintf() para una explicación de cformat.
Este método no llama a la macro va_end, el invocador es responsable de llamar a va_end en ap.
Véase también asprintf().
[noexcept, since 6.7] QString::operator std::u16string_view() const
Convierte este objeto QString en un objeto std::u16string_view.
Esta función se introdujo en Qt 6.7.
QString &QString::operator+=(const QString &other)
Añade la cadena other al final de esta cadena y devuelve una referencia a esta cadena.
Ejemplo:
Esta operación suele ser muy rápida(tiempo constante), porque QString preasigna espacio extra al final de los datos de la cadena para que pueda crecer sin reasignar toda la cadena cada vez.
Véase también append() y prepend().
QString &QString::operator+=(QChar ch)
Añade el carácter ch a la cadena.
Esta función sobrecarga QString::operator+=().
QString &QString::operator+=(QLatin1StringView str)
Añade la cadena Latin-1 vista por str a esta cadena.
Esta función sobrecarga QString::operator+=().
[since 6.0] QString &QString::operator+=(QStringView str)
Añade la vista de cadena str a esta cadena.
Esta función sobrecarga QString::operator+=().
Esta función se introdujo en Qt 6.0.
[since 6.5] QString &QString::operator+=(QUtf8StringView str)
Añade la vista de cadena UTF-8 str a esta cadena.
Esta función sobrecarga QString::operator+=().
Esta función se introdujo en Qt 6.5.
QString &QString::operator+=(const QByteArray &ba)
Añade la matriz de bytes ba a esta cadena. La matriz de bytes se convierte a Unicode mediante la función fromUtf8(). Si hay algún carácter NUL ('\0') incrustado en la matriz de bytes ba, se incluirá en la transformación.
Puede desactivar esta función definiendo QT_NO_CAST_FROM_ASCII cuando compile sus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Esta función sobrecarga QString::operator+=().
QString &QString::operator+=(const char *str)
Añade la cadena str a esta cadena. El puntero const char se convierte a Unicode mediante la función fromUtf8().
Puedes desactivar esta función definiendo QT_NO_CAST_FROM_ASCII cuando compiles tus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Esta función sobrecarga QString::operator+=().
[noexcept] QString &QString::operator=(QString &&other)
Mover-asigna other a esta instancia QString.
[noexcept] QString &QString::operator=(const QString &other)
Asigna other a esta cadena y devuelve una referencia a esta cadena.
QString &QString::operator=(QChar ch)
Establece la cadena para que contenga el carácter ch.
Esta función sobrecarga QString::operator=().
QString &QString::operator=(QLatin1StringView str)
Asigna la cadena Latin-1 vista por str a esta cadena.
Esta función sobrecarga QString::operator=().
QString &QString::operator=(const QByteArray &ba)
Asigna ba a esta cadena. La matriz de bytes se convierte a Unicode mediante la función fromUtf8().
Puede desactivar este operador definiendo QT_NO_CAST_FROM_ASCII cuando compile sus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Esta función sobrecarga QString::operator=().
QString &QString::operator=(const char *str)
Asigna str a esta cadena. El puntero const char se convierte a Unicode utilizando la función fromUtf8().
Puede desactivar este operador definiendo QT_NO_CAST_FROM_ASCII o QT_RESTRICTED_CAST_FROM_ASCII cuando compile sus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Esta función sobrecarga QString::operator=().
QChar &QString::operator[](qsizetype position)
Devuelve el carácter en el position especificado en la cadena como una referencia modificable.
Ejemplo:
Véase también at().
const QChar QString::operator[](qsizetype position) const
Esta función sobrecarga QString::operator[]().
No miembros relacionados
[since 6.1] template <typename T> qsizetype erase(QString &s, const T &t)
Elimina todos los elementos que se comparan igual a t de la cadena s. Devuelve el número de elementos eliminados, si los hay.
Esta función se introdujo en Qt 6.1.
Véase también erase_if.
[since 6.1] template <typename Predicate> qsizetype erase_if(QString &s, Predicate pred)
Elimina todos los elementos para los que el predicado pred devuelve verdadero de la cadena s. Devuelve el número de elementos eliminados, si los hay.
Esta función se introdujo en Qt 6.1.
Véase también erase.
[noexcept] bool operator!=(const QByteArray &lhs, const QString &rhs)
Devuelve true si la matriz de bytes lhs no es igual a la codificación UTF-8 de rhs; en caso contrario devuelve false.
La comparación distingue entre mayúsculas y minúsculas.
Puede desactivar este operador definiendo QT_NO_CAST_FROM_ASCII al compilar sus aplicaciones. Si desea convertir la matriz de bytes a QString antes de realizar la comparación, deberá llamar explícitamente a QString::fromUtf8(), QString::fromLatin1() o QString::fromLocal8Bit().
[noexcept] bool operator!=(const QString &lhs, const QString &rhs)
Devuelve true si la cadena lhs no es igual a la cadena rhs; en caso contrario devuelve false.
Véase también Comparing Strings.
[noexcept] bool operator!=(const char *const &lhs, const QString &rhs)
Devuelve true si lhs no es igual a rhs; en caso contrario devuelve false.
Para lhs!= 0, esto equivale a compare( lhs , rhs ) != 0 . Observe que ninguna cadena es igual a lhs siendo 0.
[noexcept] bool operator!=(const QString &lhs, const QByteArray &rhs)
La matriz de bytes rhs se convierte en QUtf8StringView. Si hay algún carácter NUL ('\0') incrustado en la matriz de bytes, se incluirá en la transformación.
Puede desactivar este operador definiendo QT_NO_CAST_FROM_ASCII cuando compile sus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Esta función sobrecarga QString::operator!=().
[noexcept] bool operator!=(const QString &lhs, const QLatin1StringView &rhs)
Devuelve true si la cadena lhs no es igual a la cadena rhs. En caso contrario devuelve false.
Esta función sobrecarga QString::operator!=().
[noexcept] bool operator!=(const QString &lhs, const char *const &rhs)
El puntero rhs const char se convierte en un QUtf8StringView.
Puede desactivar este operador definiendo QT_NO_CAST_FROM_ASCII cuando compile sus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Esta función sobrecarga QString::operator!=().
[noexcept, since 6.4] QString operator""_s(const char16_t *str, size_t size)
Operador literal que crea un QString a partir de los primeros caracteres size del literal de cadena char16_t str.
El QString se crea en tiempo de compilación, y los datos de cadena generados se almacenan en el segmento de sólo lectura del archivo objeto compilado. Los literales duplicados pueden compartir la misma memoria de sólo lectura. Esta funcionalidad es intercambiable con QStringLiteral, pero ahorra tecleado cuando hay muchos literales de cadena presentes en el código.
El siguiente código crea un QString:
using namespace Qt::StringLiterals; auto str = u"hello"_s;
Esta función se introdujo en Qt 6.4.
Véase también Qt::Literals::StringLiterals.
[since 6.9] QString operator+(QStringView lhs, const QString &rhs)
[since 6.9] QString operator+(const QString &lhs, QStringView rhs)
Devuelve una cadena que es el resultado de concatenar lhs y rhs.
Estas funciones se introdujeron en Qt 6.9.
QString operator+(const QString &s1, const QString &s2)
QString operator+(QString &&s1, const QString &s2)
Devuelve una cadena que es el resultado de concatenar s1 y s2.
QString operator+(const QString &s1, const char *s2)
Devuelve una cadena que es el resultado de concatenar s1 y s2 (s2 se convierte a Unicode utilizando la función QString::fromUtf8()).
Véase también QString::fromUtf8().
QString operator+(const char *s1, const QString &s2)
Devuelve una cadena que es el resultado de concatenar s1 y s2 (s1 se convierte a Unicode utilizando la función QString::fromUtf8()).
Véase también QString::fromUtf8().
[noexcept] bool operator<(const QByteArray &lhs, const QString &rhs)
Devuelve true si la matriz de bytes lhs es léxicamente menor que la codificación UTF-8 de rhs; en caso contrario devuelve false.
La comparación distingue entre mayúsculas y minúsculas.
Puede desactivar este operador definiendo QT_NO_CAST_FROM_ASCII al compilar sus aplicaciones. Si desea convertir la matriz de bytes a QString antes de realizar la comparación, deberá llamar explícitamente a QString::fromUtf8(), QString::fromLatin1() o QString::fromLocal8Bit().
[noexcept] bool operator<(const char *const &lhs, const QString &rhs)
Devuelve true si lhs es léxicamente menor que rhs; en caso contrario devuelve false. Para lhs!= 0, equivale a compare(lhs, rhs) < 0.
Véase también Comparing Strings.
[noexcept] bool operator<(const QLatin1StringView &lhs, const QString &rhs)
Devuelve true si lhs es léxicamente menor que rhs; en caso contrario devuelve false.
Esta función sobrecarga QString::operator<().
[noexcept] bool operator<(const QString &lhs, const QByteArray &rhs)
La matriz de bytes rhs se convierte en QUtf8StringView. Si hay algún carácter NUL ('\0') incrustado en la matriz de bytes, se incluirá en la transformación.
Puede desactivar este operador QT_NO_CAST_FROM_ASCII cuando compile sus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Esta función sobrecarga QString::operator<().
[noexcept] bool operator<(const QString &lhs, const QLatin1StringView &rhs)
Devuelve true si lhs es léxicamente menor que rhs; en caso contrario devuelve false.
Esta función sobrecarga QString::operator<().
[noexcept] bool operator<(const QString &lhs, const QString &rhs)
Devuelve true si la cadena lhs es léxicamente menor que la cadena rhs; en caso contrario devuelve false.
Esta función sobrecarga QString::operator<().
Véase también Comparing Strings.
[noexcept] bool operator<(const QString &lhs, const char *const &rhs)
Devuelve true si la cadena lhs es léxicamente menor que la cadena rhs. En caso contrario, devuelve false.
El puntero rhs const char se convierte en un QUtf8StringView.
Puede desactivar este operador definiendo QT_NO_CAST_FROM_ASCII al compilar sus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Esta función sobrecarga QString::operator<().
QDataStream &operator<<(QDataStream &stream, const QString &string)
Escribe el string dado en el stream especificado.
Véase también Serializar tipos de datos Qt.
[noexcept] bool operator<=(const QByteArray &lhs, const QString &rhs)
Devuelve true si la matriz de bytes lhs es léxicamente menor o igual que la codificación UTF-8 de rhs; en caso contrario devuelve false.
La comparación distingue entre mayúsculas y minúsculas.
Puede desactivar este operador definiendo QT_NO_CAST_FROM_ASCII al compilar sus aplicaciones. Si desea convertir la matriz de bytes a QString antes de realizar la comparación, deberá llamar explícitamente a QString::fromUtf8(), QString::fromLatin1() o QString::fromLocal8Bit().
[noexcept] bool operator<=(const QString &lhs, const QString &rhs)
Devuelve true si la cadena lhs es léxicamente menor o igual que la cadena rhs; en caso contrario devuelve false.
Véase también Comparing Strings.
[noexcept] bool operator<=(const char *const &lhs, const QString &rhs)
Devuelve true si lhs es léxicamente menor o igual que rhs; en caso contrario devuelve false. Para lhs!= 0, equivale a compare(lhs, rhs) <= 0.
Véase también Comparing Strings.
[noexcept] bool operator<=(const QLatin1StringView &lhs, const QString &rhs)
Devuelve true si lhs es léxicamente menor o igual que rhs; en caso contrario devuelve false.
Esta función sobrecarga QString::operator<=().
[noexcept] bool operator<=(const QString &lhs, const QByteArray &rhs)
La matriz de bytes rhs se convierte en QUtf8StringView. Si hay algún carácter NUL ('\0') incrustado en la matriz de bytes, se incluirá en la transformación.
Puede desactivar este operador definiendo QT_NO_CAST_FROM_ASCII cuando compile sus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Esta función sobrecarga QString::operator<=().
[noexcept] bool operator<=(const QString &lhs, const QLatin1StringView &rhs)
Devuelve true si lhs es léxicamente menor o igual que rhs; en caso contrario devuelve false.
Esta función sobrecarga QString::operator<=().
[noexcept] bool operator<=(const QString &lhs, const char *const &rhs)
El puntero rhs const char se convierte en un QUtf8StringView.
Puede desactivar este operador definiendo QT_NO_CAST_FROM_ASCII cuando compile sus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Esta función sobrecarga QString::operator<=().
[noexcept] bool operator==(const QByteArray &lhs, const QString &rhs)
Devuelve true si la matriz de bytes lhs es igual a la codificación UTF-8 de rhs; en caso contrario devuelve false.
La comparación distingue entre mayúsculas y minúsculas.
Puede desactivar este operador definiendo QT_NO_CAST_FROM_ASCII al compilar sus aplicaciones. Si desea convertir la matriz de bytes a QString antes de realizar la comparación, deberá llamar explícitamente a QString::fromUtf8(), QString::fromLatin1() o QString::fromLocal8Bit().
[noexcept] bool operator==(const QLatin1StringView &lhs, const QString &rhs)
Devuelve true si lhs es igual a rhs; en caso contrario devuelve false.
Esta función sobrecarga QString::operator==().
[noexcept] bool operator==(const QString &lhs, const QByteArray &rhs)
La matriz de bytes rhs se convierte en QUtf8StringView.
Puede desactivar este operador definiendo QT_NO_CAST_FROM_ASCII cuando compile sus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Devuelve true si la cadena lhs es léxicamente igual a rhs. En caso contrario, devuelve false.
Esta función sobrecarga QString::operator==().
[noexcept] bool operator==(const QString &lhs, const QLatin1StringView &rhs)
Devuelve true si lhs es igual a rhs; en caso contrario devuelve false.
Esta función sobrecarga QString::operator==().
[noexcept] bool operator==(const QString &lhs, const QString &rhs)
Devuelve true si la cadena lhs es igual a la cadena rhs; en caso contrario devuelve false.
Nota: Esta función trata las cadenas nulas igual que las vacías, para más detalles véase Distinction Between Null and Empty Strings.
Esta función sobrecarga QString::operator==().
Véase también Comparing Strings.
[noexcept] bool operator==(const QString &lhs, const char *const &rhs)
El puntero rhs const char se convierte en un QUtf8StringView.
Puede desactivar este operador definiendo QT_NO_CAST_FROM_ASCII cuando compile sus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Esta función sobrecarga QString::operator==().
[noexcept] bool operator==(const char *const &lhs, const QString &rhs)
Devuelve true si lhs es igual a rhs; en caso contrario devuelve false. Observe que ninguna cadena es igual a lhs siendo 0.
Equivale a lhs != 0 && compare(lhs, rhs) == 0.
Esta función sobrecarga QString::operator==().
[noexcept] bool operator>(const QByteArray &lhs, const QString &rhs)
Devuelve true si la matriz de bytes lhs es léxicamente mayor que la codificación UTF-8 de rhs; en caso contrario devuelve false.
La comparación distingue entre mayúsculas y minúsculas.
Puede desactivar este operador definiendo QT_NO_CAST_FROM_ASCII al compilar sus aplicaciones. Si desea convertir la matriz de bytes a QString antes de realizar la comparación, deberá llamar explícitamente a QString::fromUtf8(), QString::fromLatin1() o QString::fromLocal8Bit().
[noexcept] bool operator>(const QString &lhs, const QString &rhs)
Devuelve true si la cadena lhs es léxicamente mayor que la cadena rhs; en caso contrario devuelve false.
Véase también Comparing Strings.
[noexcept] bool operator>(const char *const &lhs, const QString &rhs)
Devuelve true si lhs es léxicamente mayor que rhs; en caso contrario devuelve false. Equivale a compare(lhs, rhs) > 0.
Véase también Comparing Strings.
[noexcept] bool operator>(const QLatin1StringView &lhs, const QString &rhs)
Devuelve true si lhs es léxicamente mayor que rhs; en caso contrario devuelve false.
Esta función sobrecarga QString::operator>().
[noexcept] bool operator>(const QString &lhs, const QByteArray &rhs)
La matriz de bytes rhs se convierte en QUtf8StringView. Si hay algún carácter NUL ('\0') incrustado en la matriz de bytes, se incluirá en la transformación.
Puede desactivar este operador definiendo QT_NO_CAST_FROM_ASCII cuando compile sus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Esta función sobrecarga QString::operator>().
[noexcept] bool operator>(const QString &lhs, const QLatin1StringView &rhs)
Devuelve true si lhs es léxicamente mayor que rhs; en caso contrario devuelve false.
Esta función sobrecarga QString::operator>().
[noexcept] bool operator>(const QString &lhs, const char *const &rhs)
El puntero rhs const char se convierte en un QUtf8StringView.
Puede desactivar este operador definiendo QT_NO_CAST_FROM_ASCII cuando compile sus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Esta función sobrecarga QString::operator>().
[noexcept] bool operator>=(const QByteArray &lhs, const QString &rhs)
Devuelve true si la matriz de bytes lhs es mayor o igual que la codificación UTF-8 de rhs; en caso contrario devuelve false.
La comparación distingue entre mayúsculas y minúsculas.
Puede desactivar este operador definiendo QT_NO_CAST_FROM_ASCII al compilar sus aplicaciones. Si desea convertir la matriz de bytes a QString antes de realizar la comparación, deberá llamar explícitamente a QString::fromUtf8(), QString::fromLatin1() o QString::fromLocal8Bit().
[noexcept] bool operator>=(const QString &lhs, const QString &rhs)
Devuelve true si la cadena lhs es léxicamente mayor o igual que la cadena rhs; en caso contrario devuelve false.
Véase también Comparing Strings.
[noexcept] bool operator>=(const char *const &lhs, const QString &rhs)
Devuelve true si lhs es léxicamente mayor o igual que rhs; en caso contrario devuelve false. Para lhs!= 0, equivale a compare(lhs, rhs) >= 0.
Véase también Comparing Strings.
[noexcept] bool operator>=(const QLatin1StringView &lhs, const QString &rhs)
Devuelve true si lhs es léxicamente mayor o igual que rhs; en caso contrario devuelve false.
Esta función sobrecarga QString::operator>=().
[noexcept] bool operator>=(const QString &lhs, const QByteArray &rhs)
La matriz de bytes rhs se convierte en QUtf8StringView. Si hay algún carácter NUL ('\0') incrustado en la matriz de bytes, se incluirá en la transformación.
Puede desactivar este operador definiendo QT_NO_CAST_FROM_ASCII cuando compile sus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Esta función sobrecarga QString::operator>=().
[noexcept] bool operator>=(const QString &lhs, const QLatin1StringView &rhs)
Devuelve true si lhs es léxicamente mayor o igual que rhs; en caso contrario devuelve false.
Esta función sobrecarga QString::operator>=().
[noexcept] bool operator>=(const QString &lhs, const char *const &rhs)
El puntero rhs const char se convierte en un QUtf8StringView.
Puede desactivar este operador definiendo QT_NO_CAST_FROM_ASCII cuando compile sus aplicaciones. Esto puede ser útil si desea asegurarse de que todas las cadenas visibles para el usuario pasen por QObject::tr(), por ejemplo.
Esta función sobrecarga QString::operator>=().
QDataStream &operator>>(QDataStream &stream, QString &string)
Lee una cadena del stream especificado al string dado.
Ver también Serialización de Tipos de Datos Qt.
Documentación de macros
QStringLiteral(str)
La macro genera los datos para un QString a partir del literal de cadena str en tiempo de compilación. La creación de un QString a partir de él es gratuita en este caso, y los datos de la cadena generada se almacenan en el segmento de sólo lectura del archivo objeto compilado.
Si tiene un código parecido a este
// hasAttribute takes a QString argument if (node.hasAttribute("http-contents-length")) { //... }
entonces se creará un QString temporal que se pasará como parámetro de la función hasAttribute. Esto puede ser bastante costoso, ya que implica una asignación de memoria y la copia/conversión de los datos en la codificación interna de QString.
Este coste puede evitarse utilizando QStringLiteral en su lugar:
if (node.hasAttribute(QStringLiteral(u"http-contents-length"))){ //... }
En este caso, los datos internos de QString se generarán en tiempo de compilación; no se producirá ninguna conversión ni asignación en tiempo de ejecución.
El uso de QStringLiteral en lugar de un literal de cadena C++ entre comillas dobles puede acelerar significativamente la creación de instancias de QString a partir de datos conocidos en tiempo de compilación.
Nota: QLatin1StringView puede seguir siendo más eficiente que QStringLiteral cuando la cadena se pasa a una función que tiene una sobrecarga que toma QLatin1StringView y esta sobrecarga evita la conversión a QString. Por ejemplo, QString::operator==() puede comparar con un QLatin1StringView directamente:
if (attribute.name() == "http-contents-length"_L1){ //... }
Nota: Algunos compiladores tienen errores al codificar cadenas que contienen caracteres fuera del conjunto de caracteres US-ASCII. Asegúrese de anteponer a su cadena u en esos casos. De lo contrario, es opcional.
Nota: QStringLiteral es intercambiable con operator""_s. Este último ahorra tecleo cuando hay muchas cadenas literales presentes en el código.
Véase también QByteArrayLiteral.
QT_NO_CAST_FROM_ASCII
Desactiva las conversiones automáticas de cadenas de 8 bits (char *) a Unicode QStrings, así como de tipos de 8 bits char (char y unsigned char) a QChar.
Véase también QT_NO_CAST_TO_ASCII, QT_RESTRICTED_CAST_FROM_ASCII y QT_NO_CAST_FROM_BYTEARRAY.
QT_NO_CAST_TO_ASCII
Desactiva la conversión automática de QString a cadenas de 8 bits (char *).
Véase también QT_NO_CAST_FROM_ASCII, QT_RESTRICTED_CAST_FROM_ASCII, y QT_NO_CAST_FROM_BYTEARRAY.
QT_RESTRICTED_CAST_FROM_ASCII
Desactiva la mayoría de las conversiones automáticas de literales fuente y datos de 8 bits a QStrings unicode, pero permite el uso de los constructores QChar(char) y QString(const char (&ch)[N], y del operador de asignación QString::operator=(const char (&ch)[N]). Esto proporciona la mayoría de los beneficios de seguridad de tipos de QT_NO_CAST_FROM_ASCII pero no requiere que el código de usuario envuelva los literales de caracteres y cadenas con QLatin1Char, QLatin1StringView o similares.
El uso de esta macro junto con cadenas fuente fuera del rango de 7 bits, no literales o literales con caracteres NUL incrustados no está definido.
Véase también QT_NO_CAST_FROM_ASCII y QT_NO_CAST_TO_ASCII.
const char *qPrintable(const QString &str)
Devuelve str como const char *. Esto es equivalente a str.toLocal8Bit().constData().
El puntero char no será válido después de la sentencia en la que se utilice qPrintable(). Esto se debe a que el array devuelto por QString::toLocal8Bit() quedará fuera de ámbito.
Nota: qDebug(), qInfo(), qWarning(), qCritical(), qFatal() esperan que los argumentos %s estén codificados en UTF-8, mientras que qPrintable() los convierte a la codificación local de 8 bits. Por lo tanto, qUtf8Printable() debe utilizarse para registrar cadenas en lugar de qPrintable().
Véase también qUtf8Printable().
const wchar_t *qUtf16Printable(const QString &str)
Devuelve str como const ushort *, pero convertido a const wchar_t * para evitar advertencias. Esto es equivalente a str.utf16() más algún casting.
Lo único útil que puede hacer con el valor de retorno de esta macro es pasarlo a QString::asprintf() para utilizarlo en una conversión de %ls. En particular, ¡el valor de retorno no es un const wchar_t* válido!
En general, el puntero no será válido después de la sentencia en la que se utilice qUtf16Printable(). Esto se debe a que el puntero puede haberse obtenido a partir de una expresión temporal, que quedará fuera de ámbito.
Ejemplo:
qWarning("%ls: %ls", qUtf16Printable(key), qUtf16Printable(value));
Véase también qPrintable(), qDebug(), qInfo(), qWarning(), qCritical() y qFatal().
const char *qUtf8Printable(const QString &str)
Devuelve str como const char *. Esto es equivalente a str.toUtf8().constData().
El puntero char no será válido después de la sentencia en la que se utilice qUtf8Printable(). Esto se debe a que el array devuelto por QString::toUtf8() quedará fuera de ámbito.
Ejemplo:
qWarning("%s: %s", qUtf8Printable(key), qUtf8Printable(value));
Véase también qPrintable(), qDebug(), qInfo(), qWarning(), qCritical() y qFatal().
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.