QStringRef Class

QStringRef クラスは、QString 部分文字列の薄いラッパーです。詳細...

ヘッダー #include <QStringRef>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core5Compat)
target_link_libraries(mytarget PRIVATE Qt6::Core5Compat)
qmake: QT += core5compat

注意:このクラスの関数はすべてリエントラントです。

パブリック型

パブリック関数

QStringRef()
QStringRef(const QString *string)
QStringRef(const QString *string, int position, int length)
QStringRef(const QStringRef &other)
~QStringRef()
QStringRef appendTo(QString *string) const
const QChar at(int position) const
QChar back() const
QStringRef::const_iterator begin() const
QStringRef::const_iterator cbegin() const
QStringRef::const_iterator cend() const
void chop(int n)
QStringRef chopped(int len) const
void clear()
int compare(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int compare(QLatin1String other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int compare(const QByteArray &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int compare(const QString &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int compare(const QStringRef &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QStringRef::const_iterator constBegin() const
const QChar *constData() const
QStringRef::const_iterator constEnd() const
bool contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool contains(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool contains(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool contains(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int count() const
int count(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int count(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QStringRef::const_reverse_iterator crbegin() const
QStringRef::const_reverse_iterator crend() const
const QChar *data() const
QStringRef::const_iterator end() const
bool endsWith(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool endsWith(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool endsWith(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool endsWith(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QChar front() const
int indexOf(QLatin1String str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int indexOf(const QString &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int indexOf(QChar ch, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int indexOf(QStringView str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int indexOf(const QStringRef &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool isEmpty() const
bool isNull() const
bool isRightToLeft() const
int lastIndexOf(const QString &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int lastIndexOf(QChar ch, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int lastIndexOf(QLatin1String str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int lastIndexOf(QStringView str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int lastIndexOf(const QStringRef &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QStringRef left(int n) const
int length() const
int localeAwareCompare(const QString &other) const
int localeAwareCompare(const QStringRef &other) const
QStringRef mid(int position, int n = -1) const
int position() const
QStringRef::const_reverse_iterator rbegin() const
QStringRef::const_reverse_iterator rend() const
QStringRef right(int n) const
int size() const
QList<QStringRef> split(const QString &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QList<QStringRef> split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool startsWith(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool startsWith(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool startsWith(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool startsWith(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
const QString *string() const
double toDouble(bool *ok = nullptr) const
float toFloat(bool *ok = nullptr) 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
short toShort(bool *ok = nullptr, int base = 10) const
QString toString() 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
QList<uint> toUcs4() const
QByteArray toUtf8() const
QStringRef trimmed() const
void truncate(int position)
const QChar *unicode() const
bool operator!=(const char *s) const
bool operator<(const char *s) const
bool operator<=(const char *s) const
QStringRef &operator=(const QString *string)
QStringRef &operator=(const QStringRef &other)
bool operator==(const char *s) const
bool operator>(const char *s) const
bool operator>=(const char *s) const
QChar operator[](int position) const

静的パブリック・メンバー

int compare(const QStringRef &s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
int compare(const QStringRef &s1, QLatin1String s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
int compare(const QStringRef &s1, const QStringRef &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
int localeAwareCompare(const QStringRef &s1, const QString &s2)
int localeAwareCompare(const QStringRef &s1, const QStringRef &s2)
bool operator<(const QStringRef &s1, const QStringRef &s2)
bool operator<=(const QStringRef &s1, const QStringRef &s2)
bool operator==(QLatin1String s1, const QStringRef &s2)
bool operator==(const QString &s1, const QStringRef &s2)
bool operator==(const QStringRef &s1, const QStringRef &s2)
bool operator>(const QStringRef &s1, const QStringRef &s2)
bool operator>=(const QStringRef &s1, const QStringRef &s2)

詳細説明

QStringRef は、QString API の読み取り専用サブセットを提供します。

文字列参照は、特定のposition() から始まる、指定されたsize() を持つstring() の一部を明示的に参照します。toString() を呼び出すと、データのコピーが実際のQString インスタンスとして返される。

このクラスは、既存のQString インスタンスから取得した部分文字列を操作する際の、部分文字列処理のパフォーマンスを向上させるために設計されています。QStringRefは、単に元の文字列の一部を参照することで、標準のQString のメモリ割り当てと参照カウントのオーバーヘッドを回避します。これは、パーサーで使用されるような低レベルのコードでは、より複雑なコードになる可能性がありますが、有利であることがわかります。

ほとんどのユーザーにとって、QString の代わりに QStringRef を使用することに意味的な利点はありません。なぜなら QStringRef はメモリ管理の問題に注意を払う必要があり、コードの記述や保守がより複雑になる可能性があるからです。

警告 QStringRef は、参照される文字列が存在する限り有効です。元の文字列が削除された場合、文字列参照は無効なメモリ位置を指すことになります。

このクラスは、プロファイリングによって、標準的な文字列操作をこのクラスが提供する最適化された部分文字列処理に置き換えることでパフォーマンスが向上することが明らかになった安定したコードでのみ使用することをお勧めします。

暗黙的に共有されるクラスも参照ください

メンバ型のドキュメント

QStringRef::const_iterator

QStringRef::const_reverse_iteratorも参照のこと

QStringRef::const_reverse_iterator

QStringRef::const_iteratorも参照

メンバ関数のドキュメント

[constexpr noexcept] QStringRef::QStringRef()

空の文字列参照を作成します。

QStringRef::QStringRef(const QString *string)

与えられたstring への文字列参照を構築する。

QStringRef::QStringRef(const QString *string, int position, int length)

文字数で開始positionlength で指定された、与えられたstring の文字範囲への文字列参照を構築する。

警告: この関数は、可能な限りパフォーマンスを向上させるために存在し、境界チェックは行いません。プログラムの正しさのために、positionlengthstring の有効な部分文字列を記述しなければならない。

position string length positionすなわち、0 <= position < string->length() および 0 <= length <= string->length() - position の両方を満たす必要がある。

[noexcept default] QStringRef::QStringRef(const QStringRef &other)

other 文字列参照のコピーを作成する。

[noexcept default] QStringRef::~QStringRef()

文字列参照を破棄する。

このクラスは文字列データを参照するためだけに使用され、その所有権は持たないので、インスタンスが破棄されてもメモリは解放されない。

QStringRef QStringRef::appendTo(QString *string) const

文字列参照をstring に追加し、結合された文字列データへの新しい参照を返す。

const QChar QStringRef::at(int position) const

文字列参照の与えられたインデックスposition にある文字を返す。

position は、文字列内の有効なインデックス位置でなければなりません(すなわち、0 <=position <size() )。

QChar QStringRef::back() const

文字列の最後の文字を返す。at(size() - 1) と同じ。

この関数は STL との互換性のために提供されている。

警告: 空の文字列に対してこの関数を呼び出すと、未定義の動作になります。

front()、at()、operator[]()も参照

QStringRef::const_iterator QStringRef::begin() const

文字列の最初の文字を指す constSTL 形式のイテレータを返します。

cbegin(),constBegin(),end(),constEnd(),rbegin(),rend()も参照

QStringRef::const_iterator QStringRef::cbegin() const

begin()と同じ。

begin()、constBegin()、cend()、constEnd()、rbegin()、rend()も参照の こと。

QStringRef::const_iterator QStringRef::cend() const

end()と同じ。

end()、constEnd()、cbegin()、constBegin()、rbegin()、rend()も参照の こと。

[noexcept] void QStringRef::chop(int n)

文字列の末尾からn 文字を削除する。

nsize() 以上の場合、結果は空文字列となる。n が負の場合、ゼロを渡すのと同じである。

QString::chop() およびtruncate()も参照

QStringRef QStringRef::chopped(int len) const

この文字列のsize() -len 左端の文字への部分文字列参照を返す。

注意: len が負またはsize() より大きい場合の動作は未定義です。

endsWith()、left()、right()、mid()、chop()、truncate()も参照

void QStringRef::clear()

文字列参照の内容をクリアし、null および空にします。

isEmpty() およびisNull()も参照

[static noexcept] int QStringRef::compare(const QStringRef &s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)

s1s2 を比較し、s1s2 より小さい場合は負の整数を、s2 より大きい場合は正の整数を、等しい場合はゼロを返す。

csQt::CaseSensitive の場合、比較は大文字小文字を区別する。

[noexcept] int QStringRef::compare(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

これはオーバーロードされた関数である。

*thisch を比較し、*thisch より小さければ負の整数を、ch より大きければ正の整数を、等しければゼロを返す。ここで、ch は長さ1の文字列と解釈される。

csQt::CaseSensitive の場合、比較は大文字小文字を区別する。

[noexcept] int QStringRef::compare(QLatin1String other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

これはオーバーロードされた関数である。

*thisother を比較し、*thisother より小さい場合は負の整数を、other より大きい場合は正の整数を、等しい場合はゼロを返す。

csQt::CaseSensitive の場合、比較は大文字小文字を区別し、それ以外の場合、比較は大文字小文字を区別しない。

compare(*this, other, cs) と同等。

int QStringRef::compare(const QByteArray &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

これはオーバーロードされた関数である。

*thisother を比較し、*thisother より小さい場合は負の整数を、other より大きい場合は正の整数を、等しい場合はゼロを返す。other の内容はUTF-8として解釈される。

csQt::CaseSensitive の場合、比較は大文字小文字を区別する。

compare(*this, other, cs) と同等。

[noexcept] int QStringRef::compare(const QString &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

これはオーバーロードされた関数である。

*thisother を比較し、*thisother より小さい場合は負の整数を、other より大きい場合は正の整数を、等しい場合はゼロを返す。

csQt::CaseSensitive の場合、比較は大文字小文字を区別し、それ以外の場合、比較は大文字小文字を区別しない。

compare(*this, other, cs) と同等。

[noexcept] int QStringRef::compare(const QStringRef &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

これはオーバーロードされた関数である。

*thisother を比較し、*thisother より小さい場合は負の整数を、other より大きい場合は正の整数を、等しい場合はゼロを返す。

csQt::CaseSensitive の場合、比較は大文字小文字を区別し、それ以外の場合、比較は大文字小文字を区別しない。

compare(*this, other, cs) と同等。

[static noexcept] int QStringRef::compare(const QStringRef &s1, QLatin1String s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)

これはオーバーロードされた関数である。

s1s2 を比較し、s1s2 より小さい場合は負の整数を、s2 より大きい場合は正の整数を、等しい場合はゼロを返す。

csQt::CaseSensitive である場合、比較は大文字小文字を区別する。

[static noexcept] int QStringRef::compare(const QStringRef &s1, const QStringRef &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)

これはオーバーロードされた関数である。

s1s2 を比較し、s1s2 より小さい場合は負の整数を、s2 より大きい場合は正の整数を、等しい場合はゼロを返す。

csQt::CaseSensitive である場合、比較は大文字小文字を区別する。

QStringRef::const_iterator QStringRef::constBegin() const

begin()と同じ。

begin()、cend()、constEnd()、rbegin()、rend()も参照の こと。

const QChar *QStringRef::constData() const

unicode() と同じ。

QStringRef::const_iterator QStringRef::constEnd() const

end()と同じ。

end()、cend()、cbegin()、constBegin()、rbegin()、rend()も参照の こと。

bool QStringRef::contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列参照が文字列str を含んでいる場合はtrue を返し、そうでない場合はfalse を返す。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別する。

indexOf() およびcount()も参照

bool QStringRef::contains(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は contains() をオーバーロードする。

この文字列が文字ch を含む場合はtrue を返し、そうでない場合はfalse を返す。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。

bool QStringRef::contains(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は contains() をオーバーロードする。

この文字列参照が文字列str を含んでいる場合はtrue を返し、そうでない場合はfalse を返します。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。

indexOf() およびcount()も参照

[noexcept] bool QStringRef::contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は contains() をオーバーロードする。

この文字列参照が文字列ビューstr の出現箇所を含んでいる場合はtrue を返し、そうでない場合はfalse を返します。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。

indexOf() およびcount()も参照

bool QStringRef::contains(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は contains() をオーバーロードする。

この文字列参照が文字列参照str を含んでいる場合はtrue を返し、そうでない場合はfalse を返します。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。

indexOf() およびcount()も参照

int QStringRef::count() const

文字列参照が参照する文字数を返す。size() およびlength() と同等。

position() およびstring()も参照

int QStringRef::count(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列参照で、文字列str が(重複している可能性がある)出現する回数を返す。

csQt::CaseSensitive の場合 (デフォルト)、検索は大文字小文字を区別します。

QString::count()、contains() およびindexOf()も参照

int QStringRef::count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は count() をオーバーロードする。

文字列参照内の文字ch の出現回数を返す。

csQt::CaseSensitive (デフォルト) の場合は大文字小文字を区別し、それ以外の場合は大文字小文字を区別しない。

QString::count()、contains()、indexOf()も参照

int QStringRef::count(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は count() をオーバーロードする。

この文字列参照の中で、文字列参照str が(重複している可能性がある)出現する回数を返す。

csQt::CaseSensitive (デフォルト) の場合、検索は大文字小文字を区別します。それ以外の場合、検索は大文字小文字を区別しません。

QString::count()、contains()、indexOf()も参照

QStringRef::const_reverse_iterator QStringRef::crbegin() const

rbegin() と同じ。

begin()、rbegin()、rend()も参照の こと。

QStringRef::const_reverse_iterator QStringRef::crend() const

rend() と同じ。

end()、rend()、rbegin()も参照の こと。

const QChar *QStringRef::data() const

unicode() と同じ。

QStringRef::const_iterator QStringRef::end() const

リストの最後の文字の後の想像上の文字を指す constSTL 形式のイテレータを返します。

cbegin(),constBegin(), end(),constEnd(),rbegin(),rend()も参照

bool QStringRef::endsWith(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

文字列参照がstr で終わっていればtrue を返し、そうでなければfalse を返す。

csQt::CaseSensitive (デフォルト) の場合、検索は大文字小文字を区別する。

QString::endsWith() およびstartsWith()も参照

bool QStringRef::endsWith(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は endsWith() をオーバーロードする。

文字列参照がch で終わっている場合はtrue を返し、そうでない場合はfalse を返します。

csQt::CaseSensitive の場合(デフォルト)、大文字小文字を区別して検索します。

QString::endsWith() およびendsWith()も参照

bool QStringRef::endsWith(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は endsWith() をオーバーロードする。

QString::endsWith() およびendsWith()も参照してください

[noexcept] bool QStringRef::endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は endsWith() をオーバーロードする。

QString::endsWith() およびstartsWith()も参照してください

bool QStringRef::endsWith(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は endsWith() をオーバーロードする。

QString::endsWith() およびendsWith()も参照してください

QChar QStringRef::front() const

文字列の最初の文字を返す。at(0) と同じ。

この関数は STL との互換性のために提供されている。

警告: 空の文字列に対してこの関数を呼び出すと、未定義の動作になります。

back()、at()、operator[]()も参照

int QStringRef::indexOf(QLatin1String str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列参照の中で、文字列str が最初に出現するインデックスの位置を、インデックスの位置from から順に検索して返します。str が見つからない場合は -1 を返す。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。

from が -1 の場合、検索は最後の文字から開始され、-2 の場合は次の文字から開始される。

QString::indexOf()、lastIndexOf()、contains()、count()も参照の こと。

int QStringRef::indexOf(const QString &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列参照の中で、文字列str が最初に出現するインデックスの位置を、インデックスの位置from から順に検索して返します。str が見つからない場合は -1 を返す。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。

from が -1 の場合、検索は最後の文字から開始され、-2 の場合は次の文字から開始される。

QString::indexOf()、lastIndexOf()、contains()、count()も参照の こと。

int QStringRef::indexOf(QChar ch, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は indexOf() をオーバーロードする。

インデックス位置from から前方へ検索して、文字列参照内で最初に出現する文字ch のインデックス位置を返す。ch が見つからなかった場合は -1 を返す。

QString::indexOf()、lastIndexOf()、contains() およびcount()も参照

[noexcept] int QStringRef::indexOf(QStringView str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は indexOf() をオーバーロードする。

インデックス位置from から前方へ検索して、この文字列参照で最初に出現する文字列ビューstr のインデックス位置を返します。str が見つからない場合は -1 を返します。

csQt::CaseSensitive (デフォルト) の場合、検索は大文字小文字を区別します。

from が -1 の場合、検索は最後の文字から開始され、-2 の場合は次の文字から開始される。

QString::indexOf()、QStringView::indexOf()、lastIndexOf()、contains()、count()も参照のこと

int QStringRef::indexOf(const QStringRef &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は indexOf() をオーバーロードする。

インデックス位置from から前方を検索して、この文字列参照の中で最初に出現する文字列参照str のインデックス位置を返します。str が見つからない場合は -1 を返します。

csQt::CaseSensitive (デフォルト) の場合、検索は大文字小文字を区別します。

QString::indexOf()、lastIndexOf()、contains() およびcount()も参照

bool QStringRef::isEmpty() const

文字列参照に文字がない場合はtrue を返し、そうでない場合はfalse を返す。

文字列参照のサイズがゼロの場合は空である。

size()も参照のこと

bool QStringRef::isNull() const

この文字列参照が文字列を参照していない場合、または参照している文字列が NULL の場合(つまりQString::isNull() が真)、true を返す。

size()も参照

bool QStringRef::isRightToLeft() const

文字列が右から左に読まれた場合はtrue を返す。

QString::isRightToLeft()も参照のこと

int QStringRef::lastIndexOf(const QString &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列参照で最後に出現した文字列str のインデックス位置を、インデックス位置from からさかのぼって返します。from が -1 (デフォルト) の場合、検索は最後の文字から始まります。from が -2 の場合、次の最後の文字から始まります。str が見つからない場合は -1 を返す。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別する。

QString::lastIndexOf()、indexOf()、contains()、count()も参照のこと

int QStringRef::lastIndexOf(QChar ch, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は lastIndexOf() をオーバーロードする。

from の位置から後方に検索して、最後に出現した文字ch のインデックス位置を返します。

QString::lastIndexOf()、indexOf()、contains()、count()も参照

int QStringRef::lastIndexOf(QLatin1String str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は lastIndexOf() をオーバーロードする。

インデックス位置from から後方へ検索して、この文字列参照で最後に出現した文字列str のインデックス位置を返します。from が -1 (デフォルト) の場合、検索は最後の文字から始まります。from が -2 の場合、次の最後の文字から始まります。str が見つからない場合は -1 を返す。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別する。

QString::lastIndexOf()、indexOf()、contains()、count()も参照のこと

[noexcept] int QStringRef::lastIndexOf(QStringView str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は lastIndexOf() をオーバーロードする。

インデックス位置from から後方へ検索して、この文字列内で文字列ビューstr が最後に出現するインデックス位置を返します。from が -1 (デフォルト) の場合、検索は最後の文字から始まります。from が -2 の場合、次の最後の文字から始まります。str が見つからない場合は -1 を返す。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別する。

indexOf()、contains()、count()も参照のこと

int QStringRef::lastIndexOf(const QStringRef &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は lastIndexOf() をオーバーロードする。

インデックス位置from から後方へ検索して、この文字列参照内で最後に出現した文字列参照str のインデックス位置を返します。from が -1 (デフォルト) の場合、検索は最後の文字から始まります。from が -2 の場合、次の最後の文字から始まります。str が見つからない場合は -1 を返す。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別する。

QString::lastIndexOf()、indexOf()、contains()、count()も参照のこと

QStringRef QStringRef::left(int n) const

文字列のn 左端の文字への部分文字列参照を返す。

nsize() 以上の場合、または 0 より小さい場合は、文字列全体への参照が返されます。

right()、mid()、startsWith()、chopped()、chop()、truncate()も参照

int QStringRef::length() const

文字列参照が参照する文字数を返す。size() およびcount() と同等。

position() およびstring()も参照

[static] int QStringRef::localeAwareCompare(const QStringRef &s1, const QString &s2)

s1s2 を比較し、s1s2 より小さい場合は負の整数を、s2 より大きい場合は正の整数を、等しい場合はゼロを返す。

比較はロケールやプラットフォームに依存した方法で行われる。この関数は、ソートされた文字列のリストをユーザに提示するために使用する。

compare()、QLocaleComparing Stringsも参照のこと

int QStringRef::localeAwareCompare(const QString &other) const

これはオーバーロードされた関数である。

*thisother を比較し、*thisother より小さい場合は負の整数を、other より大きい場合は正の整数を、等しい場合はゼロを返す。

比較はロケールやプラットフォームに依存した方法で行われる。この関数は、ソートされた文字列のリストをユーザに提示するために使用する。

Comparing Stringsも参照のこと

int QStringRef::localeAwareCompare(const QStringRef &other) const

これはオーバーロードされた関数である。

*thisother を比較し、*thisother より小さい場合は負の整数を、other より大きい場合は正の整数を、等しい場合はゼロを返す。

比較はロケールやプラットフォームに依存した方法で行われる。この関数は、ソートされた文字列のリストをユーザに提示するために使用する。

Comparing Stringsも参照のこと

[static] int QStringRef::localeAwareCompare(const QStringRef &s1, const QStringRef &s2)

これはオーバーロードされた関数である。

s1s2 を比較し、s1s2 より小さい場合は負の整数を、s2 より大きい場合は正の整数を、等しい場合はゼロを返す。

比較はロケールやプラットフォームに依存した方法で行われる。この関数は、ソートされた文字列のリストをユーザーに表示するために使用する。

Comparing Stringsも参照のこと

QStringRef QStringRef::mid(int position, int n = -1) const

指定されたposition から始まる、この文字列のn 文字への部分文字列参照を返します。

position が文字列の長さを超える場合は、NULL参照が返される。

指定されたposition から始まる文字列がn 未満の場合、またはn が -1 の場合(デフォルト)、この関数は、指定されたposition 以降のすべての文字を返します。

left()、right()、chopped()、chop()、truncate()も参照

int QStringRef::position() const

文字列参照が参照する文字列の開始位置を返します。

size() およびstring()も参照

QStringRef::const_reverse_iterator QStringRef::rbegin() const

文字列の最初の文字を逆順で指す constSTL 形式の逆順イテレータを返します。

begin(),crbegin(),rend()も参照

QStringRef::const_reverse_iterator QStringRef::rend() const

STL 形式の逆順イテレータで、文字列の最後の文字から逆順に 1 つ前の文字を指します。

end(),crend(),rbegin()も参照

文字列のn 右端文字への部分文字列参照を返す。

nsize() 以上の場合、または 0 より小さい場合は、文字列全体への参照が返されます。

left()、mid()、endsWith()、chopped()、chop()、truncate()も参照

int QStringRef::size() const

文字列参照が参照する文字数を返す。length() およびcount() と同等。

position() およびstring()も参照

QList<QStringRef> QStringRef::split(const QString &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

文字列を、sep が出現する箇所で参照する部分文字列に分割し、それらの文字列のリストを返す。

sep,behavior,cs がどのように相互作用して結果を形成するかについてはQString::split() を参照のこと。

注意: すべての参照は、この文字列が生きている限り有効である。この文字列を破棄すると、すべての参照がダングリングポインタになります。

QList<QStringRef> QStringRef::split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

これはオーバーロードされた関数である。

bool QStringRef::startsWith(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

文字列参照がstr で始まっていればtrue を返し、そうでなければfalse を返す。

csQt::CaseSensitive (デフォルト) の場合、検索は大文字小文字を区別する。

QString::startsWith() およびendsWith()も参照

bool QStringRef::startsWith(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は startsWith() をオーバーロードする。

文字列参照がch で始まっていればtrue を返し、そうでなければfalse を返す。

csQt::CaseSensitive (デフォルト) の場合、検索は大文字小文字を区別します。

QString::startsWith() およびendsWith()も参照

bool QStringRef::startsWith(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は startsWith() をオーバーロードする。

QString::startsWith() およびendsWith()も参照

[noexcept] bool QStringRef::startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は startsWith() をオーバーロードする。

QString::startsWith() およびendsWith()も参照

bool QStringRef::startsWith(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は startsWith() をオーバーロードする。

QString::startsWith() およびendsWith()も参照

const QString *QStringRef::string() const

文字列参照が参照する文字列へのポインタを返す。

unicode()も参照

double QStringRef::toDouble(bool *ok = nullptr) const

double 値に変換された文字列を返す。

変換がオーバーフローした場合は無限大を返し、その他の理由(アンダーフローなど)で 変換に失敗した場合は0.0を返す。

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

文字列変換は常に'C'ロケールで行われる。ロケールに依存する変換には、QLocale::toDouble() を使用する。

歴史的な理由により、この関数は数千のグループ区切り文字を扱わない。そのような数値を変換する必要がある場合は、QLocale::toDouble() を使用する。

QString::toDouble()も参照

float QStringRef::toFloat(bool *ok = nullptr) const

float 値に変換された文字列を返す。

変換がオーバーフローした場合は無限大を返し、その他の理由(アンダーフローなど)で 変換に失敗した場合は0.0を返す。

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

文字列変換は常に'C'ロケールで行われる。ロケール依存の変換にはQLocale::toFloat() を使用する。

QString::toFloat()も参照のこと

int QStringRef::toInt(bool *ok = nullptr, int base = 10) const

base を基数としてint に変換された文字列を返す。 はデフォルトで 10 であり、2 から 36 の間でなければならない。

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

base が0の場合、C言語の規約が使用される:文字列が "0x "で始まる場合、16進数が使用され、文字列が "0 "で始まる場合、 8進数が使用され、そうでない場合、10進数が使用される。

文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換を行うには、QLocale::toInt() を使用する。

QString::toInt()も参照のこと

QByteArray QStringRef::toLatin1() const

文字列の Latin-1 表現をQByteArray として返します。

返されるバイト配列は、文字列にLatin1以外の文字が含まれている場合は未定義です。これらの文字は抑制されるか、クエスチョンマークで置き換えられます。

toUtf8()、toLocal8Bit() およびQStringEncoderも参照

QByteArray QStringRef::toLocal8Bit() const

文字列のローカルの8ビット表現をQByteArray 。 文字列がローカルの8ビットエンコーディングでサポートされていない文字を含んでいる場合、返されるバイト配列は未定義である。

Unixシステムでは、これはtoUtf8() と等価である。Windowsでは、システムの現在のコードページが使用される。

この文字列にロケールでエンコードできない文字が含まれている場合、 返されるバイト配列は未定義となる。これらの文字は抑制するか、別の文字で置き換えることができる。

toLatin1()、toUtf8()、QStringEncoderも参照のこと

long QStringRef::toLong(bool *ok = nullptr, int base = 10) const

base を基数として、long に変換された文字列を返します。 はデフォルトで 10 であり、2 から 36 の間でなければなりません。

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

base が0の場合、C言語の規約が使用される:文字列が "0x "で始まる場合、16進数が使用され、文字列が "0 "で始まる場合、 8進数が使用され、そうでない場合、10進数が使用される。

文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換を行うには、QLocale::toLong() を使用する。

QString::toLong()も参照のこと

qlonglong QStringRef::toLongLong(bool *ok = nullptr, int base = 10) const

base を基数として、long long に変換された文字列を返します。 はデフォルトで 10 であり、2 から 36 の間でなければなりません。

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

base が0の場合、C言語の規約が使用される:文字列が "0x "で始まる場合、16進数が使用され、文字列が "0 "で始まる場合、 8進数が使用され、そうでない場合、10進数が使用される。

文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換を行うには、QLocale::toLongLong() を使用する。

QString::toLongLong()も参照のこと

short QStringRef::toShort(bool *ok = nullptr, int base = 10) const

base を基数として、short に変換された文字列を返します。 はデフォルトで 10 であり、2 から 36 の間でなければなりません。

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

base が0の場合、C言語の規約が使用される:文字列が "0x "で始まる場合、16進数が使用され、文字列が "0 "で始まる場合、 8進数が使用され、そうでない場合、10進数が使用される。

文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換を行うには、QLocale::toShort() を使用する。

QString::toShort()も参照のこと

QString QStringRef::toString() const

文字列参照のコピーをQString オブジェクトとして返す。

文字列参照が文字列の完全な参照でない場合 (position() が 0 でsize() がstring()->size() と等しい場合)、この関数は新しい文字列を割り当てて返す。

string()も参照のこと

uint QStringRef::toUInt(bool *ok = nullptr, int base = 10) const

base を基数としてunsigned int に変換された文字列を返す。 はデフォルトで 10 であり、2 から 36 の間でなければならない。

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

base が0の場合、C言語の規約が使用される:文字列が "0x "で始まる場合、16進数が使用され、文字列が "0 "で始まる場合、 8進数が使用され、そうでない場合、10進数が使用される。

文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換を行うには、QLocale::toUInt() を使用する。

QString::toUInt()も参照のこと

ulong QStringRef::toULong(bool *ok = nullptr, int base = 10) const

base を基数としてunsigned long に変換された文字列を返す。 はデフォルトで 10 であり、2 から 36 の間でなければならない。

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

base が0の場合、C言語の規約が使用される:文字列が "0x "で始まる場合、16進数が使用され、文字列が "0 "で始まる場合、 8進数が使用され、そうでない場合、10進数が使用される。

文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換を行うには、QLocale::toULongLong() を使用する。

QString::toULong()も参照のこと

qulonglong QStringRef::toULongLong(bool *ok = nullptr, int base = 10) const

base を基数としてunsigned long long に変換された文字列を返す。 はデフォルトで 10 であり、2 から 36 の間でなければならない。

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

base が0の場合、C言語の規約が使用される:文字列が "0x "で始まる場合、16進数が使用され、文字列が "0 "で始まる場合、 8進数が使用され、そうでない場合、10進数が使用される。

文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換を行うには、QLocale::toULongLong() を使用する。

QString::toULongLong()も参照のこと

ushort QStringRef::toUShort(bool *ok = nullptr, int base = 10) const

base を基数としてunsigned short に変換された文字列を返す。 はデフォルトで 10 であり、2 から 36 の間でなければならない。

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

base が0の場合、C言語の規約が使用される:文字列が "0x "で始まる場合、16進数が使用され、文字列が "0 "で始まる場合、 8進数が使用され、そうでない場合、10進数が使用される。

文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換を行うには、QLocale::toUShort() を使用する。

QString::toUShort()も参照のこと

QList<uint> QStringRef::toUcs4() const

文字列のUCS-4/UTF-32表現をQList<uint>として返す。

UCS-4はUnicodeのコーデックなので、ロスレスです。この文字列のすべての文字はUCS-4でエンコードされます。この文字列内の無効なコード単位のシーケンスは、Unicode の置換文字 (U+FFFD に対応するQChar::ReplacementCharacter) で置換されます。

返されたリストは終了しません。

toUtf8()、toLatin1()、toLocal8Bit()、QStringEncoderも参照のこと

QByteArray QStringRef::toUtf8() const

文字列の UTF-8 表現をQByteArray として返す。

UTF-8 は Unicode コーデックであり、QString のように Unicode 文字列のすべての文字を表現することができます。

toLatin1()、toLocal8Bit() およびQStringEncoderも参照してください

QStringRef QStringRef::trimmed() const

文字列の先頭と末尾から空白を取り除いた文字列を返す。

空白文字とは、QChar::isSpace() がtrue を返す文字のことです。これには、ASCII 文字 ' \t', ' \n', ' \v', ' \f', ' \r', ' が含まれます。

QString::simplified() と異なり、trimmed() は内部の空白を残します。

QString::trimmed()も参照

[noexcept] void QStringRef::truncate(int position)

与えられたposition インデックスで文字列を切り捨てる。

指定されたposition インデックスが文字列の末尾を越えている場合は、何も起こらない。

position が負の場合は、ゼロを渡すのと同じである。

QString::truncate()も参照

const QChar *QStringRef::unicode() const

文字列参照の Unicode 表現を返します。データは参照された文字列から直接来ているので、文字列参照に文字列のヌル終端が含まれない限り、 〚終端しません〛。

string()も参照してください

bool QStringRef::operator!=(const char *s) const

この関数は operator!=() をオーバーロードする。

s const charポインタは、fromUtf8()関数を使用してQStringRef に変換される。

アプリケーションのコンパイル時にQT_NO_CAST_FROM_ASCII を定義することで、この演算子を無効にすることができます。これは、たとえば、すべてのユーザー可視文字列がQObject::tr() を通過するようにしたい場合に便利です。

この文字列が字句解析的にパラメータ文字列s と等しくない場合はtrue を返します。そうでない場合はfalse を返します。

QT_NO_CAST_FROM_ASCIIも参照してください

bool QStringRef::operator<(const char *s) const

この関数は operator<() をオーバーロードする。

s const charポインタは、fromUtf8()関数を使用してQStringRef に変換される。

アプリケーションのコンパイル時にQT_NO_CAST_FROM_ASCII を定義することで、この演算子を無効にすることができます。これは、たとえば、すべてのユーザー可視文字列がQObject::tr() を通過するようにしたい場合に便利です。

この文字列がパラメータ文字列s より語彙的に小さい場合はtrue を返します。それ以外の場合はfalse を返します。

QT_NO_CAST_FROM_ASCIIも参照してください

bool QStringRef::operator<=(const char *s) const

この関数は operator<=() をオーバーロードする。

s const charポインタは、fromUtf8()関数を使用してQStringRef に変換される。

アプリケーションのコンパイル時にQT_NO_CAST_FROM_ASCII を定義することで、この演算子を無効にすることができます。これは、たとえば、すべてのユーザー可視文字列がQObject::tr() を通過するようにしたい場合に便利である。

この文字列が字句解析的にパラメータ文字列s よりも小さいか等しい場合、true を返します。そうでない場合はfalse を返します。

QT_NO_CAST_FROM_ASCIIも参照してください

QStringRef &QStringRef::operator=(const QString *string)

与えられたstring への文字列参照を構築し、それをこの文字列参照に代入し、結果を返す。

[noexcept default] QStringRef &QStringRef::operator=(const QStringRef &other)

other 文字列参照をこの文字列参照に代入し、結果を返します。

bool QStringRef::operator==(const char *s) const

この関数は operator==() をオーバーロードする。

s バイト配列は、fromUtf8() 関数を使用してQStringRef に変換される。この関数は、最初に見つかったNUL文字、またはバイト配列の終端で変換を停止します。

アプリケーションのコンパイル時にQT_NO_CAST_FROM_ASCII を定義することで、この演算子を無効にすることができます。これは、たとえば、すべてのユーザー可視文字列がQObject::tr() を通過するようにしたい場合に便利である。

この文字列が字句解析的にパラメータ文字列s と等しい場合はtrue を返す。そうでない場合はfalse を返します。

QT_NO_CAST_FROM_ASCIIも参照してください

bool QStringRef::operator>(const char *s) const

この関数は operator>() をオーバーロードする。

s const charポインタは、fromUtf8()関数を使用してQStringRef に変換される。

アプリケーションのコンパイル時にQT_NO_CAST_FROM_ASCII を定義することで、この演算子を無効にすることができます。これは、たとえば、すべてのユーザー可視文字列がQObject::tr() を通過するようにしたい場合に便利です。

この文字列が字句解析的にパラメータ文字列s より大きい場合はtrue を返す。それ以外の場合はfalse を返します。

QT_NO_CAST_FROM_ASCIIも参照してください

bool QStringRef::operator>=(const char *s) const

この関数は operator>=() をオーバーロードする。

s const charポインタは、fromUtf8()関数を使用してQStringRef に変換される。

アプリケーションのコンパイル時にQT_NO_CAST_FROM_ASCII を定義することで、この演算子を無効にすることができます。これは、たとえば、すべてのユーザー可視文字列がQObject::tr() を通過するようにしたい場合に便利である。

この文字列が字句解析的にパラメータ文字列s 以上である場合、true を返します。そうでない場合はfalse を返します。

QT_NO_CAST_FROM_ASCIIも参照してください

QChar QStringRef::operator[](int position) const

文字列参照の与えられたインデックスposition にある文字を返す。

position は、文字列参照の有効なインデックス位置でなければならない (すなわち、0 <=position <size())。

at()も参照

関連する非会員

[noexcept] bool operator<(const QStringRef &s1, const QStringRef &s2)

文字列参照s1 が文字列参照s2 より語彙的に小さい場合はtrue を返し、そうでない場合はfalse を返します。

Comparing Stringsも参照

[noexcept] bool operator<=(const QStringRef &s1, const QStringRef &s2)

文字列参照s1 が文字列参照s2 と語彙的に等しいか等しくない場合はtrue を返し、そうでない場合はfalse を返す。

Comparing Stringsも参照

[noexcept] bool operator==(QLatin1String s1, const QStringRef &s2)

文字列s1 が文字列参照s2 と語彙的に等しい場合はtrue を返し、そうでない場合はfalse を返す。

[noexcept] bool operator==(const QString &s1, const QStringRef &s2)

文字列s1 が文字列参照s2 と語彙的に等しい場合はtrue を返し、そうでない場合はfalse を返す。

[noexcept] bool operator==(const QStringRef &s1, const QStringRef &s2)

文字列参照s1 が文字列参照s2 と語彙的に等しい場合はtrue を返し、そうでない場合はfalse を返す。

[noexcept] bool operator>(const QStringRef &s1, const QStringRef &s2)

文字列参照s1 が文字列参照s2 より語彙的に大きい場合はtrue を返し、そうでない場合はfalse を返す。

Comparing Stringsも参照してください

[noexcept] bool operator>=(const QStringRef &s1, const QStringRef &s2)

文字列参照s1 が文字列参照s2 と語彙的に等しいか大きい場合はtrue を返し、そうでない場合はfalse を返す。

Comparing Stringsも参照

© 2025 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.