このページでは

QStringView Class

QStringView クラスは、QString API の読み取り専用サブセットを使用して、UTF-16 文字列を統一的に表示します。詳細...

ヘッダー: #include <QStringView>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

注:このクラスのすべての関数は再入可能です。

パブリック型

パブリック関数

QStringView()
QStringView(const Char (&string)[N])
QStringView(const Char *str)
QStringView(const Container &str)
QStringView(const QString &str)
QStringView(std::nullptr_t)
QStringView(const Char *first, const Char *last)
QStringView(const Char *str, qsizetype len)
QString arg(Args &&... args) const
QChar at(qsizetype n) const
QChar back() const
QStringView::const_iterator begin() const
QStringView::const_iterator cbegin() const
QStringView::const_iterator cend() const
void chop(qsizetype length)
QStringView chopped(qsizetype length) const
int compare(QChar ch) const
int compare(QChar ch, Qt::CaseSensitivity cs) const
int compare(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int compare(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.5) int compare(QUtf8StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.1) QStringView::const_iterator constBegin() const
(since 6.0) QStringView::const_pointer constData() const
(since 6.1) QStringView::const_iterator constEnd() const
bool contains(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool contains(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.1) bool contains(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const
(since 6.1) qsizetype count(const QRegularExpression &re) const
(since 6.0) qsizetype count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.4) qsizetype count(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.0) qsizetype count(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QStringView::const_reverse_iterator crbegin() const
QStringView::const_reverse_iterator crend() const
QStringView::const_pointer data() const
bool empty() const
QStringView::const_iterator end() const
bool endsWith(QChar ch) const
bool endsWith(QChar ch, Qt::CaseSensitivity cs) const
bool endsWith(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QChar first() const
(since 6.0) QStringView first(qsizetype n) const
QChar front() const
qsizetype indexOf(QChar ch, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype indexOf(QLatin1StringView l1, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype indexOf(QStringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.1) qsizetype indexOf(const QRegularExpression &re, qsizetype from = 0, QRegularExpressionMatch *rmatch = nullptr) const
bool isEmpty() const
(since 6.7) bool isLower() const
bool isNull() const
bool isRightToLeft() const
(since 6.7) bool isUpper() const
bool isValidUtf16() const
QChar last() const
(since 6.0) QStringView last(qsizetype n) const
(since 6.2) qsizetype lastIndexOf(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const
qsizetype lastIndexOf(QChar ch, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype lastIndexOf(QLatin1StringView l1, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype lastIndexOf(QStringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.1) qsizetype lastIndexOf(const QRegularExpression &re, qsizetype from, QRegularExpressionMatch *rmatch = nullptr) const
(since 6.3) qsizetype lastIndexOf(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.2) qsizetype lastIndexOf(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.2) qsizetype lastIndexOf(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype length() const
(since 6.4) int localeAwareCompare(QStringView other) const
(since 6.8) qsizetype max_size() const
QStringView::const_reverse_iterator rbegin() const
QStringView::const_reverse_iterator rend() const
qsizetype size() const
(since 6.8) QStringView &slice(qsizetype pos, qsizetype n)
(since 6.8) QStringView &slice(qsizetype pos)
(since 6.0) QStringView sliced(qsizetype pos, qsizetype n) const
(since 6.0) QStringView sliced(qsizetype pos) const
(since 6.0) QList<QStringView> split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.0) QList<QStringView> split(QStringView sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.0) QList<QStringView> split(const QRegularExpression &re, Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const
bool startsWith(QChar ch) const
bool startsWith(QChar ch, Qt::CaseSensitivity cs) const
bool startsWith(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.0) CFStringRef toCFString() const
(since 6.0) double toDouble(bool *ok = nullptr) const
(since 6.0) float toFloat(bool *ok = nullptr) const
(since 6.0) int toInt(bool *ok = nullptr, int base = 10) const
QByteArray toLatin1() const
QByteArray toLocal8Bit() const
(since 6.0) long toLong(bool *ok = nullptr, int base = 10) const
(since 6.0) qlonglong toLongLong(bool *ok = nullptr, int base = 10) const
(since 6.0) NSString *toNSString() const
(since 6.0) short toShort(bool *ok = nullptr, int base = 10) const
QString toString() const
(since 6.0) uint toUInt(bool *ok = nullptr, int base = 10) const
(since 6.0) ulong toULong(bool *ok = nullptr, int base = 10) const
(since 6.0) qulonglong toULongLong(bool *ok = nullptr, int base = 10) const
(since 6.0) ushort toUShort(bool *ok = nullptr, int base = 10) const
QList<uint> toUcs4() const
QByteArray toUtf8() const
qsizetype toWCharArray(wchar_t *array) const
(since 6.0) auto tokenize(Needle &&sep, Flags... flags) const
QStringView trimmed() const
void truncate(qsizetype length)
const QStringView::storage_type *utf16() const
(since 6.7) operator std::u16string_view() const
QChar operator[](qsizetype n) const

静的パブリックメンバー

QStringView fromArray(const Char (&string)[Size])
(since 6.8) qsizetype maxSize()
size_t qHash(QStringView key, size_t seed = 0)
bool operator!=(const QStringView &lhs, const QStringView &rhs)
bool operator<(const QStringView &lhs, const QStringView &rhs)
bool operator<=(const QStringView &lhs, const QStringView &rhs)
bool operator==(const QStringView &lhs, const QStringView &rhs)
bool operator>(const QStringView &lhs, const QStringView &rhs)
bool operator>=(const QStringView &lhs, const QStringView &rhs)

詳細な説明

QStringView は、自身が所有していない UTF-16 文字列の連続した領域を参照します。これは、最初にQString を構築する必要なく、あらゆる種類の UTF-16 文字列に対するインターフェース型として機能します。

UTF-16 文字列は、QChar 、ushort 、char16_t 、あるいは(Windows など、16 ビット型であるプラットフォームでは)wchar_t の配列(または、QString 、std::basic_string などの配列互換のデータ構造)として表現される場合があります。

QStringView はインターフェース型として設計されており、主な用途は関数の引数型として使用されることです。 QStringView を自動変数やデータメンバーとして使用する場合、参照される文字列データ(例えば、QString が所有するデータ)が、すべてのコードパスにおいて QStringView よりも長く存続するように注意する必要があります。そうしないと、文字列ビューが削除済みのデータを参照してしまう恐れがあります。

インターフェース型として使用する場合、QStringView により、単一の関数が多種多様な UTF-16 文字列データソースを受け入れることが可能になります。したがって、QStringView を受け入れる 1 つの関数により、QString および(const QChar*, qsizetype) を受け取る 3 つの関数のオーバーロードが置き換えられると同時に、u"Hello World" やchar16_t の文字列リテラルなど、さらに多くの文字列データソースをその関数に渡すことも可能になります。

QStringViewは、constへの参照ではなく、値渡しで渡す必要があります:

    void myfun1(QStringView sv);        // preferred
    void myfun2(const QStringView &sv); // compiles and works, but slower

ユーザーが関数に渡せる文字列の種類を最大限に自由にしたい場合は、QStringView のオーバーロードに加えて、

  • QChar用のオーバーロードを併せて用意してください。このオーバーロードは、QStringView版に委譲することができます:
    void fun(QChar ch) { myfun1(QStringView(&ch, 1)); }

    技術的な理由により、QStringView自体がQChar コンストラクタを提供できない場合でも。

  • QString: 文字列の変更されていないコピーを格納し、QString の暗黙的な共有機能を活用したい場合。
  • QLatin1StringView:QLatin1StringView を最初にUTF-16に変換することなく関数を実装できる場合。ユーザーは、QLatin1StringView に対してオーバーロードされた関数が、QLatin1StringView からQString を構築することを伴う、意味的に同等のQStringViewバージョンの呼び出しよりも、厳密に少ないメモリ割り当てで実行されることを期待しています。

QStringViewは関数の戻り値としても使用できます。QStringViewを返す関数を呼び出す場合は、その関数が参照する文字列データを保持すると約束している期間を超えて、QStringViewを保持しないよう特に注意してください。疑わしい場合は、toString()を呼び出してQStringViewをQString に変換し、データへの強い参照を取得してください。

QStringViewはリテラル型ですが、データをchar16_t として格納しているため、反復処理はconstexpr ではありません(const char16_t* からconst QChar* へのキャストは、constexpr 関数では許可されていません)。代わりに、constexpr のコンテキストで、インデックス付きループやutf16()を使用できます。

「どの文字列クラスを使用すべきか?」および「QString 」も参照してください 。

メンバ型のドキュメント

QStringView::const_iterator

このtypedefは、QStringView に対してSTLスタイルのconstイテレータを提供します。

iterator およびconst_reverse_iteratorも参照してください 。

QStringView::const_pointer

value_type * の別名です。STL との互換性を確保するために提供されています。

QStringView::const_reference

value_type & の別名です。STL との互換性を確保するために提供されています。

QStringView::const_reverse_iterator

このtypedefは、QStringView に対して、STLスタイルのconstリバースイテレータを提供します。

reverse_iterator およびconst_iteratorも参照してください 。

QStringView::difference_type

std::ptrdiff_t の別名です。STL との互換性を確保するために提供されています。

QStringView::iterator

このtypedefは、QStringView に対してSTLスタイルのconstイテレータを提供します。

QStringView 可変イテレータはサポートされていないため、これは `const_iterator` と同じです。

const_iterator およびreverse_iteratorも参照してください 。

QStringView::pointer

value_type * の別名です。STL との互換性を確保するために提供されています。

QStringView 可変ポインタをサポートしていないため、これは `const_pointer` と同じです。

QStringView::reference

value_type & の別名です。STL との互換性を確保するために提供されています。

QStringView 可変参照をサポートしていないため、これは `const_reference` と同じです。

QStringView::reverse_iterator

このtypedefは、QStringView に対してSTLスタイルのconstリバースイテレータを提供します。

QStringView 可変逆イテレータはサポートされていないため、これは `const_reverse_iterator` と同じです。

const_reverse_iterator およびiteratorも参照してください 。

QStringView::size_type

qsizetype の別名です。STL との互換性を確保するために用意されています。

QStringView::storage_type

char16_t の別名。

QStringView::value_type

const QChar の別名です。STL との互換性のために提供されています。

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

[constexpr noexcept] QStringView::QStringView()

ヌル文字列ビューを作成します。

isNull()も参照してください 。

[constexpr noexcept] template <typename Char, size_t N> QStringView::QStringView(const Char (&string)[N])

文字列リテラル `string` に基づいて文字列ビューを構築します。このビューは、最初の `Char(0) ` または `N` のいずれかが検出されるまで、配列をカバーします(いずれか早い方)。配列全体が必要な場合は、代わりに `fromArray()` を使用してください。

string この文字列ビューオブジェクトの存続期間中、有効であり続ける必要があります。

制約

Char が互換性のある文字型である場合にのみ、オーバーロード解決の対象となります。互換性のある文字型は、QChar 、ushort 、char16_t 、および(Windowsなどの、16ビット型であるプラットフォームでは)wchar_t です。

fromArrayも参照してください 。

[constexpr noexcept] template <typename Char> QStringView::QStringView(const Char *str)

str 上に文字列ビューを構築します。長さは、最初の `Char(0)` を検索することで決定されます。

str この文字列ビューオブジェクトの存続期間中、有効であり続ける必要があります。

`nullptr ` を `str ` として渡すことは安全であり、その結果、空の文字列ビューが生成されます。

制約

Char が互換性のある文字型である場合にのみ、オーバーロードの解決に関与します。互換性のある文字型は、QChar 、ushort 、char16_t 、および(Windows などの、16 ビット型であるプラットフォームでは)wchar_t です。

[constexpr noexcept] template <typename Container, QStringView::if_compatible_container<Container> = true> QStringView::QStringView(const Container &str)

str 上に文字列ビューを構築します。長さはstd::size(str) から取得されます。

std::data(str) この文字列ビューオブジェクトの存続期間中、有効であり続けなければならない。

std::size(str) == 0 の場合に限り、文字列ビューは空になります。このコンストラクタが空の文字列ビューを生成する可能性があるかどうかは未定義です(その場合は、std::data(str) がnullptr を返す必要があります)。

制約

Container がvalue_type と互換性のある文字型を持つコンテナである場合にのみ、オーバーロードの解決に参加します。互換性のある文字型は、QChar 、ushort 、char16_t 、および(Windows などの 16 ビット型であるプラットフォームでは)wchar_t です。

isNull() およびisEmpty()も参照してください 。

[noexcept] QStringView::QStringView(const QString &str)

str 上に文字列ビューを作成します。

str.data() この文字列ビューオブジェクトの存続期間中、xml-ph-0000@deepl.internalは有効なままである必要があります。

str.isNull() の場合に限り、文字列ビューは null になります。

[constexpr noexcept] QStringView::QStringView(std::nullptr_t)

ヌル文字列ビューを作成します。

isNull()も参照してください 。

[constexpr] template <typename Char, QStringView::if_compatible_char<Char> = true> QStringView::QStringView(const Char *first, const Char *last)

first 上で、長さが (last -first) の文字列ビューを構築します。

[first,last) の範囲は、この文字列ビューオブジェクトの存続期間中、有効なままである必要があります。

last もnullptr である場合、\nullptr をfirst として渡すことは安全であり、その結果、null の文字列ビューが生成されます。

last がfirst より前にある場合、またはfirst がnullptr であるのに対しlast がそうでない場合は、挙動は未定義となります。

制約

Char が互換性のある文字型である場合にのみ、オーバーロード解決の対象となります。互換性のある文字型は、QChar 、ushort 、char16_t 、および(Windows などの、16 ビット型であるプラットフォームにおける)wchar_t です。

[constexpr] template <typename Char, QStringView::if_compatible_char<Char> = true> QStringView::QStringView(const Char *str, qsizetype len)

str 上に、長さがlen の文字列ビューを構築します。

[str,len) の範囲は、この文字列ビューオブジェクトの存続期間中、有効であり続けなければなりません。

len が0である場合、nullptr をstr として渡しても安全であり、その結果、空の文字列ビューが生成されます。

len が負の場合、または正でstr がnullptr である場合、その挙動は未定義となります。

制約

Char が互換性のある文字型である場合にのみ、オーバーロード解決の対象となります。互換性のある文字型は、QChar 、ushort 、char16_t 、および(Windows などの、16 ビット型であるプラットフォームでは)wchar_t です。

template <typename... Args> QString QStringView::arg(Args &&... args) const

この文字列中の「%N 」を、「args 」の対応する引数に置き換えます。引数は位置指定ではありません。args の最初の引数は、%N を最も低いN (すべて)に置き換え、args の2番目の引数は、%N を次に低いN に置き換える、というように続きます。

Args QAnyStringView へ暗黙的に変換可能なものであれば何でも構成可能です。

注: Qt 6.9 以前のバージョンでは 、QAnyStringView および UTF-8 文字列(QUtf8StringView 、QByteArray 、QByteArrayView 、const char8_t* など)は、args としてサポートされていませんでした。

QString::arg()も参照してください 。

[constexpr noexcept] QChar QStringView::at(qsizetype n) const

この文字列ビューのn の位置にある文字を返します。

n が負の数である場合、またはsize() 以上である場合、動作は未定義となります。

operator[]()、front()、およびback()も参照してください 。

[constexpr] QChar QStringView::back() const

文字列ビューの最後の文字を返します。last() と同じです。

この関数は、STLとの互換性を確保するために提供されています。

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

関連項目: front()、first()、およびlast()。

[noexcept] QStringView::const_iterator QStringView::begin() const

文字列ビューの最初の文字を指す、STL スタイルのconstイテレータを返します。

この関数は、STLとの互換性を確保するために提供されています。

end()、constBegin()、cbegin()、rbegin()、およびdata()も参照してください 。

[noexcept] QStringView::const_iterator QStringView::cbegin() const

begin() と同じです。

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

cend()、begin()、constBegin()、crbegin()、およびdata()も参照してください 。

[noexcept] QStringView::const_iterator QStringView::cend() const

end() と同じです。

この関数は、STLとの互換性を確保するために提供されています。

cbegin()、end()、constEnd()、およびcrend()も参照してください 。

[constexpr noexcept] void QStringView::chop(qsizetype length)

この文字列ビューをlength 文字分切り捨てます。

*this = left(size() - length) と同様です。

注: length < 0 またはlength >size() の場合、動作は 未定義です。

関連項目: sliced(),left(),right(),chopped(),truncate(), およびslice().

[constexpr noexcept] QStringView QStringView::chopped(qsizetype length) const

このオブジェクトの先頭から、size() -length の長さの部分文字列を返します。

left(size() - length) と同じです。

注: length < 0 またはlength >size() の場合、動作は 未定義です。

関連項目: sliced()、left()、right()、chop()、truncate()、およびslice()。

[constexpr noexcept] int QStringView::compare(QChar ch) const

[noexcept] int QStringView::compare(QChar ch, Qt::CaseSensitivity cs) const

[noexcept] int QStringView::compare(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列ビューを、Latin-1 文字列ビュー `l1` または文字 `ch` と比較します。この文字列ビューが `l1 ` または `ch` より小さい場合は負の整数を、`l1 ` または `ch` より大きい場合は正の整数を、それらが等しい場合は 0 を返します。

cs がQt::CaseSensitive (デフォルト)の場合、比較は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

operator==()、operator<()、およびoperator>()も参照してください 。

[noexcept] int QStringView::compare(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列ビューと文字列ビュー `str ` を比較し、この文字列ビューが `str` より小さい場合は負の整数を、`str` より大きい場合は正の整数を、等しい場合は 0 を返します。

cs がQt::CaseSensitive (デフォルト)の場合、比較は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

operator==()、operator<()、およびoperator>()も参照してください 。

[noexcept, since 6.5] int QStringView::compare(QUtf8StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列ビューと `QUtf8StringView ` `str ` を比較し、この文字列ビューが `str` より小さい場合は負の整数を、`str` より大きい場合は正の整数を、等しい場合は 0 を返します。

cs がQt::CaseSensitive (デフォルト)の場合、比較は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

この関数は Qt 6.5 で導入されました。

operator==()、operator<()、およびoperator>()も参照してください 。

[noexcept, since 6.1] QStringView::const_iterator QStringView::constBegin() const

begin() と同じです。

この関数は Qt 6.1 で導入されました。

constEnd()、begin()、cbegin()、crbegin()、およびdata()も参照してください 。

[noexcept, since 6.0] QStringView::const_pointer QStringView::constData() const

文字列ビューの先頭文字へのconstポインタを返します。

注: 戻り値で表される文字配列は 、ヌル終端されていません。

この関数は Qt 6.0 で導入されました。

関連項目: data()、begin()、end()、およびutf16()。

[noexcept, since 6.1] QStringView::const_iterator QStringView::constEnd() const

end() と同じです。

この関数は Qt 6.1 で導入されました。

constBegin()、end()、cend()、およびcrend()も参照してください 。

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

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

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

この文字列ビューに、str で表示される UTF-16 文字列、l1 で表示される Latin-1 文字列、またはch で表示される文字のいずれかが含まれている場合は、true を返します。それ以外の場合は、false を返します。

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

indexOf()も参照してください 。

[since 6.1] bool QStringView::contains(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const

正規表現 `re ` がこの文字列ビューのどこかで一致する場合は `true ` を返し、一致しない場合は `false` を返します。

一致に成功し、かつ `rmatch ` が `nullptr` ではない場合、一致の結果は `rmatch` が指す `QRegularExpressionMatch ` オブジェクトにも書き込まれます。

この関数は Qt 6.1 で導入されました。

QRegularExpression::match()も参照してください 。

[since 6.1] qsizetype QStringView::count(const QRegularExpression &re) const

文字列ビュー内で、正規表現 `re ` が一致した回数を返します。

歴史的な理由により、この関数は重複する一致もカウントします。この動作は、QRegularExpressionMatchIterator を使用して文字列ビュー内の一致箇所を単純に反復処理する場合とは異なります。

この関数は Qt 6.1 で導入されました。

QRegularExpression::globalMatch()も参照してください 。

[noexcept, since 6.0] qsizetype QStringView::count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

文字列ビュー内で「ch 」という文字列が何回出現するかを返します。

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

この関数は、QStringView::count() をオーバーロードしています。

この関数は Qt 6.0 で導入されました。

QString::count()、contains()、およびindexOf()も参照してください 。

[since 6.4] qsizetype QStringView::count(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列ビューにおいて、l1 によって認識された Latin-1 文字列の(重複する可能性のある)出現回数を返します。

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

この関数は、QStringView::count() をオーバーロードします。

この関数は Qt 6.4 で導入されました。

QString::count()、contains()、およびindexOf()も参照してください 。

[noexcept, since 6.0] qsizetype QStringView::count(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列ビュー内で、文字列ビュー `str ` が(重複している場合も含め)何回出現するかを返します。

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

この関数は、QStringView::count() をオーバーロードします。

この関数は Qt 6.0 で導入されました。

QString::count()、contains()、およびindexOf()も参照してください 。

[noexcept] QStringView::const_reverse_iterator QStringView::crbegin() const

rbegin() と同じです。

この関数は、STLとの互換性を確保するために提供されています。

crend()、rbegin()、およびcbegin()も参照してください 。

[noexcept] QStringView::const_reverse_iterator QStringView::crend() const

rend() と同じです。

この関数は、STLとの互換性を確保するために提供されています。

crbegin()、rend()、およびcend()も参照してください 。

[noexcept] QStringView::const_pointer QStringView::data() const

文字列ビューの先頭文字へのconstポインタを返します。

注: 戻り値によって表される文字配列は 、ヌル終端されていません。

関連項目: begin()、end()、utf16()。

[constexpr noexcept] bool QStringView::empty() const

この文字列ビューが空であるかどうか、つまり、size() == 0 かどうかを返します。

この関数は、STLとの互換性を確保するために提供されています。

isEmpty()、isNull()、size()、およびlength()も参照してください 。

[noexcept] QStringView::const_iterator QStringView::end() const

リストの最後の文字の直後に続く、架空の文字を指すSTLスタイルのconstイテレータを返します。

この関数は、STLとの互換性を確保するために提供されています。

begin()、constEnd()、cend()、およびrend()も参照してください 。

[noexcept] bool QStringView::endsWith(QChar ch) const

[noexcept] bool QStringView::endsWith(QChar ch, Qt::CaseSensitivity cs) const

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

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

この文字列ビューの末尾が、str で表示される UTF-16 文字列、l1 で表示される Latin-1 文字列、あるいはch で表示される文字のいずれかである場合、true を返します。それ以外の場合は、false を返します。

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

startsWith()も参照してください 。

[constexpr] QChar QStringView::first() const

文字列ビューの先頭文字を返します。front() と同じです。

この関数は、他のQtコンテナとの互換性を確保するために提供されています。

警告: 空の文字列ビューに対してこの関数を呼び出すと 、未定義の挙動を引き起こします。

関連項目: front()、back()、およびlast()。

[constexpr noexcept, since 6.0] QStringView QStringView::first(qsizetype n) const

この文字列ビューの先頭からn 文字分を指す文字列ビューを返します。

注: n < 0 またはn >size() の場合、動作は 未定義です。

この関数は Qt 6.0 で導入されました。

関連項目: last()、sliced()、startsWith()、chopped()、chop()、truncate()、およびslice()を参照してください 。

[static constexpr noexcept] template < typename Char, size_t Size, QStringView::if_compatible_char<Char> = true > QStringView QStringView::fromArray(const Char (&string)[Size])

Size 個の要素からなる完全な文字列リテラル `string ` に対して、末尾の `Char(0)` を含めて文字列ビューを構築します。ビューにヌル終端文字を含めたくない場合は、それが末尾にあると確実な時点で `chop()` を使用して除外することができます。 あるいは、配列リテラルを受け取るコンストラクタのオーバーロードを使用することもできます。これにより、データ内の最初のヌル終端文字まで(ただし、その文字自体は含まない)のビューが作成されます。

string この文字列ビューオブジェクトの存続期間中、有効なままである必要があります。

Char が互換性のある文字型である場合、この関数は任意の配列リテラルで動作します。互換性のある文字型は、QChar 、ushort 、char16_t 、および(Windowsなどの、16ビット型であるプラットフォームでは)wchar_t です。

[constexpr] QChar QStringView::front() const

文字列ビューの先頭文字を返します。first() と同じ動作をします。

この関数は、STLとの互換性を確保するために提供されています。

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

関連項目: ` back()`, `first()`, `last()`。

[noexcept] qsizetype QStringView::indexOf(QChar ch, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[noexcept] qsizetype QStringView::indexOf(QLatin1StringView l1, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

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

この文字列ビューにおいて、インデックス位置from から前方へ検索し、str で指定された UTF-16 文字列、l1 で指定された Latin-1 文字列、あるいはch で指定された文字の最初の出現位置のインデックスを返します。str 、l1 、またはch がそれぞれ見つからない場合は -1 を返します。

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

from が -1 の場合、検索は最後の文字から開始されます。-2 の場合は、最後から 2 番目の文字から開始されます。

QString::indexOf()も参照してください 。

[since 6.1] qsizetype QStringView::indexOf(const QRegularExpression &re, qsizetype from = 0, QRegularExpressionMatch *rmatch = nullptr) const

文字列ビュー内で、正規表現 `re ` の最初の一致箇所を、インデックス位置 `from` から前方へ検索して、そのインデックス位置を返します。`re ` がどこにも一致しなかった場合は -1 を返します。

一致に成功し、かつrmatch がnullptr ではない場合、rmatch が指すQRegularExpressionMatch オブジェクトにも一致の結果が書き込まれます。

注: 正規表現のマッチングアルゴリズムの仕組み上 、この関数は実際には、文字列ビューの先頭からfrom の位置に到達するまで、繰り返しマッチングを行います。

この関数は Qt 6.1 で導入されました。

[constexpr noexcept] bool QStringView::isEmpty() const

この文字列ビューが空であるかどうか、つまり `size() == 0` であるかどうかを返します。

この関数は、他の Qt コンテナとの互換性を確保するために提供されています。

empty()、isNull()、size()、およびlength()も参照してください 。

[noexcept, since 6.7] bool QStringView::isLower() const

このビューが小文字変換形と完全に一致する場合、true を返します。

ただし、これは文字列ビューに大文字が含まれていないことを意味するわけではありません(大文字の中には小文字への変換形を持たないものがあり、それらはtoString().toLower() によって変更されません)。詳細については、Unicode 規格のセクション 3.13 を参照してください。

この関数は Qt 6.7 で導入されました。

QChar::toLower() およびisUpper()も参照してください 。

[constexpr noexcept] bool QStringView::isNull() const

この文字列ビューがnullであるかどうか、つまりdata() == nullptr であるかどうかを返します。

この関数は、他の Qt コンテナとの互換性を確保するために提供されています。

empty()、isEmpty()、size()、およびlength()も参照してください 。

[noexcept] bool QStringView::isRightToLeft() const

文字列ビューが右から左に読み込まれる場合、true を返します。

QString::isRightToLeft()も参照してください 。

[noexcept, since 6.7] bool QStringView::isUpper() const

このビューが大文字変換後のビューと完全に一致する場合、true を返します。

なお、これは文字列ビューに小文字が含まれていないことを意味するものではありません(小文字の中には大文字への変換形を持たないものがあり、それらはtoString().toUpper() によって変更されません)。詳細については、Unicode 規格のセクション 3.13 を参照してください。

この関数は Qt 6.7 で導入されました。

QChar::toUpper() およびisLower()も参照してください 。

[noexcept] bool QStringView::isValidUtf16() const

文字列ビューに有効な UTF-16 エンコードデータが含まれている場合は `true ` を返し、そうでない場合は `false ` を返します。

この関数はデータに対して特別な検証を行わない点に注意してください。単に、そのデータが UTF-16 から正常にデコードできるかどうかを確認するだけです。データはホストバイト順であるとみなされ、BOM の有無は意味を持ちません。

QString::isValidUtf16()も参照してください 。

[constexpr] QChar QStringView::last() const

文字列ビューの最後の文字を返します。back() と同じ動作です。

この関数は、他のQtコンテナとの互換性を確保するために提供されています。

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

関連項目: back()、front()、およびfirst()。

[constexpr noexcept, since 6.0] QStringView QStringView::last(qsizetype n) const

この文字列ビューの最後のn 文字を指す文字列ビューを返します。

注: n < 0 またはn >size() の場合、動作は 未定義です。

この関数は Qt 6.0 で導入されました。

関連項目: first()、sliced()、endsWith()、chopped()、chop()、truncate()、およびslice()。

[since 6.2] qsizetype QStringView::lastIndexOf(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const

文字列ビュー内で、正規表現 `re ` の最後の一致箇所のインデックス位置を返します。re がどこにも一致しなかった場合は -1 を返します。

一致に成功し、かつrmatch がnullptr ではない場合、一致の結果はrmatch が指すQRegularExpressionMatch オブジェクトにも書き込まれます。

注: 正規表現のマッチングアルゴリズムの仕組み上 、この関数は実際には、文字列ビューの先頭から末尾に到達するまで繰り返しマッチングを行います。

この関数は Qt 6.2 で導入されました。

[noexcept] qsizetype QStringView::lastIndexOf(QChar ch, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[noexcept] qsizetype QStringView::lastIndexOf(QLatin1StringView l1, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[noexcept] qsizetype QStringView::lastIndexOf(QStringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

インデックス位置from から逆方向に検索し、この文字列ビュー内で、str で表示されるUTF-16文字列、l1 で表示されるLatin-1文字列、またはch で表示される文字の、それぞれ最後の出現位置のインデックスを返します。

from が -1 の場合、検索は最後の文字から開始されます。-2 の場合は最後から 2 番目の文字から開始され、以下同様です。

str 、l1 、またはch がそれぞれ見つからない場合は、-1を返します。

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

注: 長さ 0 のstr またはl1 を検索する場合 、-1 は通常、文字列ビューの末尾から検索すると考えられていますが、負のfrom を指定することで、データの末尾にある一致は検索から除外されます。末尾の一致は最後の文字の後に位置するため、除外されるのです。 このような末尾の空の一致を含めるには、from に正の値を指定するか、from パラメータを完全に省略してください。

QString::lastIndexOf()も参照してください 。

[since 6.1] qsizetype QStringView::lastIndexOf(const QRegularExpression &re, qsizetype from, QRegularExpressionMatch *rmatch = nullptr) const

文字列ビュー内で、正規表現 `re ` の最後の一致箇所(インデックス位置 `from` の直前から始まるもの)のインデックス位置を返します。

from が -1 の場合、検索は最後の文字から開始されます。-2 の場合は最後から 2 番目の文字から開始され、以下同様です。

re がどこにも一致しなかった場合は -1 を返します。

一致に成功し、かつrmatch がnullptr ではない場合、一致の結果はrmatch が指すQRegularExpressionMatch オブジェクトにも書き込まれます。

注: 正規表現のマッチングアルゴリズムの仕組み上 、この関数は、文字列ビューの先頭からfrom の位置に到達するまで、実際に繰り返しマッチングを行います。

注: 0 文字に一致する可能性のある正規表現re を検索する場合、 -1 は通常、文字列ビューの末尾から検索すると考えられていますが、負のfrom を指定することで、データの末尾での一致は検索から除外されます。末尾での一致は最後の文字の後に位置するため、除外されるのです。 このような末尾の空の一致を含めるには、from に正の値を指定するか、from パラメータを完全に省略してください。

この関数は Qt 6.1 で導入されました。

[noexcept, since 6.3] qsizetype QStringView::lastIndexOf(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は、QStringView::lastIndexOf() をオーバーロードしています。

この関数はQt 6.3で導入されました。

[noexcept, since 6.2] qsizetype QStringView::lastIndexOf(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[noexcept, since 6.2] qsizetype QStringView::lastIndexOf(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列ビューの最後の文字から逆方向に検索し、str で表示された UTF-16 文字列、あるいはl1 で表示された Latin-1 文字列が最後に現れた位置のインデックスを返します。str またはl1 がそれぞれ見つからない場合は -1 を返します。

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

これらの関数は Qt 6.2 で導入されました。

QString::lastIndexOf()も参照してください 。

[constexpr noexcept] qsizetype QStringView::length() const

size() と同じです。

この関数は、他の Qt コンテナとの互換性を確保するために提供されています。

empty()、isEmpty()、isNull()、およびsize()も参照してください 。

[since 6.4] int QStringView::localeAwareCompare(QStringView other) const

この文字列ビューとother の文字列ビューを比較し、この文字列ビューがother の文字列ビューより小さい、等しい、または大きい場合に、それぞれ0より小さい、0、または0より大きい整数を返します。

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

この関数は Qt 6.4 で導入されました。

Comparing Stringsも参照してください 。

[static constexpr noexcept, since 6.8] qsizetype QStringView::maxSize()

この関数は、ビューが理論上表現できる要素の最大数を返します。実際には、システムで利用可能なメモリ量によって制限されるため、この数ははるかに少なくなる場合があります。

この関数は Qt 6.8 で導入されました。

[constexpr noexcept, since 6.8] qsizetype QStringView::max_size() const

この関数は、STLとの互換性を確保するために提供されています。

maxSize() を返します。

この関数は Qt 6.8 で導入されました。

[noexcept] QStringView::const_reverse_iterator QStringView::rbegin() const

文字列ビューの最初の文字を逆順で指す、STL 形式のconst 逆イテレータを返します。

この関数は、STL との互換性を確保するために提供されています。

rend()、crbegin()、およびbegin()も参照してください 。

[noexcept] QStringView::const_reverse_iterator QStringView::rend() const

文字列ビューの最後の文字の1つ先を指す、STL形式の逆方向イテレータを、逆順で返します。

この関数は、STLとの互換性を確保するために提供されています。

rbegin()、crend()、およびend()も参照してください 。

[constexpr noexcept] qsizetype QStringView::size() const

この文字列ビューのサイズを、UTF-16 コード単位で返します(つまり、この関数では、QString と同様に、サロゲートペアは 2 としてカウントされます)。

empty()、isEmpty()、isNull()、およびlength()も参照してください 。

[constexpr, since 6.8] QStringView &QStringView::slice(qsizetype pos, qsizetype n)

この文字列ビューを、位置pos から開始し、n コードポイント分だけ延長するように変更します。

注: pos < 0、n < 0、またはpos +n >size() の場合、動作は 未定義です。

この関数は Qt 6.8 で導入されました。

sliced()、first()、last()、chopped()、chop()、およびtruncate()も参照してください 。

[constexpr, since 6.8] QStringView &QStringView::slice(qsizetype pos)

この文字列ビューを、位置 `pos` から開始し、その末尾まで拡張するように変更します。

注: pos < 0 またはpos >size() の場合、動作は 未定義です。

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

この関数は Qt 6.8 で導入されました。

関連項目: sliced()、first()、last()、chopped()、chop()、およびtruncate()。

[constexpr noexcept, since 6.0] QStringView QStringView::sliced(qsizetype pos, qsizetype n) const

この文字列ビューの、位置pos から始まるn 文字を指す文字列ビューを返します。

注: pos < 0、n < 0、またはpos +n >size() の場合、動作は 未定義です。

この関数は Qt 6.0 で導入されました。

first()、last()、chopped()、chop()、truncate()、およびslice()も参照してください 。

[constexpr noexcept, since 6.0] QStringView QStringView::sliced(qsizetype pos) const

このオブジェクトのpos の位置から始まり、その末尾まで続く文字列ビューを返します。

注: pos < 0 またはpos >size() の場合、挙動は 未定義です。

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

この関数は Qt 6.0 で導入されました。

関連項目: first()、last()、chopped()、chop()、truncate()、およびslice()。

[since 6.0] QList<QStringView> QStringView::split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[since 6.0] QList<QStringView> QStringView::split(QStringView sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

sep が出現する箇所ごとにビューを部分文字列ビューに分割し、それらの文字列ビューのリストを返します。

sep 、behavior 、cs がどのように連携して結果を形成するかについては、QString::split()を参照してください。

注: この文字列ビューが参照するデータが有効である限り、返されるすべての ビューは有効です。データを破棄すると、すべてのビューがダングリング状態になります。

これらの関数は Qt 6.0 で導入されました。

[since 6.0] QList<QStringView> QStringView::split(const QRegularExpression &re, Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const

正規表現 `re ` に一致する箇所で文字列を部分文字列ビューに分割し、それらの文字列のリストを返します。もし `re ` が文字列内のどこにも一致しない場合、`split()` はこの文字列をビューとして含む単一要素のリストを返します。

注: 返されるリスト内のビューは 、このビューのサブビューです。そのため、それらはこのビューと同じデータを参照しており、そのデータが有効である間のみ有効です。

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

この関数は Qt 6.0 で導入されました。

[noexcept] bool QStringView::startsWith(QChar ch) const

[noexcept] bool QStringView::startsWith(QChar ch, Qt::CaseSensitivity cs) const

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

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

この文字列ビューの先頭が、str で表示される UTF-16 文字列、l1 で表示される Latin-1 文字列、あるいはch で表示される文字のいずれかで始まる場合、true を返します。それ以外の場合は、false を返します。

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

endsWith()も参照してください 。

[since 6.0] CFStringRef QStringView::toCFString() const

このQStringView からCFStringを作成します。

呼び出し元が CFString を所有し、その解放の責任を負います。

注:この関数は macOS および iOS でのみ利用可能です。

この関数は Qt 6.0 で導入されました。

[since 6.0] double QStringView::toDouble(bool *ok = nullptr) const

double 値に変換された文字列ビューを返します。

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

ok がnullptr でない場合、失敗時は*ok をfalse に設定して報告し、成功時は*ok をtrue に設定して報告します。

文字列の変換は常に「C」ロケールで行われます。ロケール依存の変換を行うには、QLocale::toDouble() を使用してください。

歴史的な理由により、この関数は千の位区切り記号を処理しません。そのような数値を変換する必要がある場合は、QLocale::toDouble() を使用してください。

この関数は Qt 6.0 で導入されました。

QString::toDouble()も参照してください 。

[since 6.0] float QStringView::toFloat(bool *ok = nullptr) const

float 値に変換された文字列ビューを返します。

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

ok がnullptr でない場合、失敗は*ok をfalse に設定することで報告され、成功は*ok をtrue に設定することで報告されます。

文字列の変換は常に「C」ロケールで行われます。ロケール依存の変換を行うには、QLocale::toFloat() を使用してください。

この関数は Qt 6.0 で導入されました。

QString::toFloat()も参照してください 。

[since 6.0] int QStringView::toInt(bool *ok = nullptr, int base = 10) const

文字列ビューを、ベース値base (デフォルトは 10。2 から 36 までの値、または 0 である必要があります)を使用して、int に変換したものを返します。変換に失敗した場合は 0 を返します。

ok がnullptr でない場合、*ok をfalse に設定して失敗を報告し、*ok をtrue に設定して成功を報告します。

base が0の場合、C言語の規約が使用されます。つまり、文字列ビューが「0x」で始まる場合は16進数、そうでなく文字列ビューが「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。

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

この関数は Qt 6.0 で導入されました。

QString::toInt()も参照してください 。

QByteArray QStringView::toLatin1() const

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

文字列に非Latin-1文字が含まれている場合、動作は未定義となります。

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

QByteArray QStringView::toLocal8Bit() const

文字列のローカルな8ビット表現を、QByteArray として返します。

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

文字列に、ロケールの8ビットエンコーディングでサポートされていない文字が含まれている場合、動作は未定義となります。

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

[since 6.0] long QStringView::toLong(bool *ok = nullptr, int base = 10) const

文字列ビューを、ベース値base を使用してlong に変換した結果を返します。 のデフォルト値は 10 で、2 から 36 までの値、または 0 のいずれかでなければなりません。変換に失敗した場合は 0 を返します。

ok がnullptr でない場合、*ok をfalse に設定して失敗を報告し、*ok をtrue に設定して成功を報告します。

base が0の場合、C言語の規約が使用されます。つまり、文字列ビューが「0x」で始まる場合は16進数、そうでない場合は「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。

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

この関数は Qt 6.0 で導入されました。

QString::toLong()も参照してください 。

[since 6.0] qlonglong QStringView::toLongLong(bool *ok = nullptr, int base = 10) const

文字列ビューを、ベース値base を使用してlong long に変換した結果を返します。 のデフォルト値は 10 で、2 から 36 までの値、または 0 である必要があります。変換に失敗した場合は 0 を返します。

ok がnullptr でない場合、*ok をfalse に設定して失敗を報告し、*ok をtrue に設定して成功を報告します。

base が0の場合、C言語の規約が使用されます。つまり、文字列ビューが「0x」で始まる場合は16進数、そうでなく「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。

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

この関数は Qt 6.0 で導入されました。

QString::toLongLong()も参照してください 。

[since 6.0] NSString *QStringView::toNSString() const

このQStringView からNSStringを作成します。

この NSString はオートリリースされます。

注:この関数は macOS および iOS でのみ利用可能です。

この関数は Qt 6.0 で導入されました。

[since 6.0] short QStringView::toShort(bool *ok = nullptr, int base = 10) const

文字列ビューを、ベース値base を使用してshort に変換した結果を返します。 のデフォルト値は 10 で、2 から 36 までの値、または 0 である必要があります。変換に失敗した場合は 0 を返します。

ok がnullptr でない場合、*ok をfalse に設定して失敗を報告し、*ok をtrue に設定して成功を報告します。

base が0の場合、C言語の規約が使用されます。つまり、文字列ビューが「0x」で始まる場合は16進数、そうでない場合で文字列ビューが「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。

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

この関数は Qt 6.0 で導入されました。

QString::toShort()も参照してください 。

QString QStringView::toString() const

この文字列ビューのデータのディープコピーを、QString として返します。

この文字列ビューがnullである場合に限り、戻り値はnullのQString となります。

[since 6.0] uint QStringView::toUInt(bool *ok = nullptr, int base = 10) const

文字列ビューを、ベース値base を使用してunsigned int に変換したものを返します。 のデフォルト値は 10 で、2 から 36 までの整数、または 0 でなければなりません。変換に失敗した場合は 0 を返します。

ok がnullptr でない場合、*ok をfalse に設定して失敗を報告し、*ok をtrue に設定して成功を報告します。

base が0の場合、C言語の規約が使用されます。文字列ビューが「0x」で始まる場合は16進数が使用され、そうでない場合は文字列ビューが「0」で始まる場合は8進数が、それ以外の場合は10進数が使用されます。

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

この関数は Qt 6.0 で導入されました。

QString::toUInt()も参照してください 。

[since 6.0] ulong QStringView::toULong(bool *ok = nullptr, int base = 10) const

文字列ビューを、ベース値base を用いてunsigned long に変換した結果を返します。 のデフォルト値は 10 であり、2 から 36 の範囲、または 0 でなければなりません。変換に失敗した場合は 0 を返します。

ok がnullptr でない場合、*ok をfalse に設定して失敗を報告し、*ok をtrue に設定して成功を報告します。

base が0の場合、C言語の規約が使用されます。つまり、文字列ビューが「0x」で始まる場合は16進数が使用され、そうでない場合で文字列ビューが「0」で始まる場合は8進数が使用され、それ以外の場合は10進数が使用されます。

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

この関数は Qt 6.0 で導入されました。

QString::toULong()も参照してください 。

[since 6.0] qulonglong QStringView::toULongLong(bool *ok = nullptr, int base = 10) const

文字列ビューを、ベース値base を使用してunsigned long long に変換した結果を返します。 のデフォルト値は 10 で、2 から 36 までの範囲、または 0 でなければなりません。変換に失敗した場合は 0 を返します。

ok がnullptr と異なる場合、失敗時は*ok をfalse に設定し、成功時は*ok をtrue に設定することで、結果が報告されます。

base が0の場合、C言語の規則が適用されます。文字列ビューが「0x」で始まる場合は16進数、そうでない場合で文字列ビューが「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。

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

この関数は Qt 6.0 で導入されました。

QString::toULongLong()も参照してください 。

[since 6.0] ushort QStringView::toUShort(bool *ok = nullptr, int base = 10) const

文字列ビューを、ベース値base を使用してunsigned short に変換したものを返します。 のデフォルト値は 10 で、2 から 36 までの値、または 0 でなければなりません。変換に失敗した場合は 0 を返します。

ok がnullptr でない場合、失敗時は*ok をfalse に設定して報告し、成功時は*ok をtrue に設定して報告します。

base が0の場合、C言語の規則が適用されます。つまり、文字列ビューが「0x」で始まる場合は16進数、そうでない場合に文字列ビューが「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。

文字列の変換は常に「C」ロケールで行われます。ロケール依存の変換を行うには、QLocale::toUShort() を使用してください。

この関数は Qt 6.0 で導入されました。

QString::toUShort()も参照してください 。

QList<uint> QStringView::toUcs4() const

文字列ビューのUCS-4/UTF-32表現を、QList 型<uint>として返します。

UCS-4はUnicodeコーデックであるため、損失のないエンコーディングです。この文字列ビューに含まれるすべての文字はUCS-4でエンコードされます。この文字列ビュー内の無効なコード単位のシーケンスは、Unicode置換文字(QChar::ReplacementCharacter 、U+FFFD に対応)に置き換えられます。

返されるリストは0で終了しません。

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

QByteArray QStringView::toUtf8() const

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

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

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

qsizetype QStringView::toWCharArray(wchar_t *array) const

この文字列ビューを、指定されたarray に変換します。

呼び出し元は、array がこの文字列ビューのwchar_t エンコーディングを格納するのに十分な大きさであることを保証する責任があります(文字列ビューと同じ長さの配列を割り当てることで、常に十分です)。wchar_t が2バイト幅のプラットフォーム(Windowsなど)では、配列はUTF-16でエンコードされます。それ以外の場合(Unixシステム)、wchar_t は4バイト幅であるとみなされ、データはUCS-4で書き込まれます。

注:この関数は 、array の末尾にヌル終端文字を書き込まない。

array に書き込まれたwchar_t のエントリ数を返します。

関連項目 :QString::toWCharArray()

[constexpr noexcept(...), since 6.0] template <typename Needle, typename... Flags> auto QStringView::tokenize(Needle &&sep, Flags... flags) const

sep が出現する箇所ごとに文字列を部分文字列のビューに分割し、それらの文字列からなる遅延シーケンスを返します。

以下と同等ですが、

return QStringTokenizer{std::forward<Needle>(sep), flags...};

に相当しますが、コンパイラでC++17のクラステンプレート引数推論(CTAD)が有効になっていなくても動作します。

結果を形成するために `sep ` と `flags ` がどのように連携するかは、QStringTokenizer を参照してください。

注: この関数はQStringTokenizerを返しますが 、そのテンプレート引数を明示的に指定してはいけません。C++17 のクラステンプレート引数推論 (CTAD) を使用できる場合は、

QStringTokenizer result = sv.tokenize(sep);

(テンプレート引数なし)。C++17のCTADが使用できない場合は、戻り値をauto 型の変数にのみ格納する必要があります:

auto result = sv.tokenize(sep);

これは、QStringTokenizer のテンプレート引数が、返される特定のtokenize()のオーバーロードに対して非常に微妙な依存関係を持ち、通常は区切り文字に使用される型とは一致しないためです。

これらの関数は Qt 6.0 で導入されました。

注: noexcept(qTokenize(std::declval<const QStringView&>(), std::forward<Needle>(needle), flags...)) がtrue の場合、この関数は noexcept です。

「 QStringTokenizer 」および「qTokenize()」も参照してください 。

[noexcept] QStringView QStringView::trimmed() const

先頭と末尾の空白文字を削除し、その結果を返します。

空白とは、QChar::isSpace() がtrue を返す任意の文字を指します。これには、ASCII 文字の '\t'、'\n'、'\v'、'\f'、'\r'、および ' ' が含まれます。

[constexpr noexcept] void QStringView::truncate(qsizetype length)

この文字列ビューをlength の長さに切り詰めます。

*this = left(length) と同じです。

注: length < 0 またはlength >size() の場合、動作は 未定義です。

sliced()、left()、right()、chopped()、およびchop()も参照してください 。

[constexpr noexcept] const QStringView::storage_type *QStringView::utf16() const

文字列ビューの先頭文字へのconstポインタを返します。

注: 戻り値によって表される文字配列は 、ヌル終端されていません。

storage_type char16_t です。

関連項目: begin()、end()、およびdata()。

[constexpr noexcept, since 6.7] QStringView::operator std::u16string_view() const

このQStringView オブジェクトをstd::u16string_view オブジェクトに変換します。返されるビューは、このビューと同じデータポインタと長さを持つことになります。

この関数は Qt 6.7 で導入されました。

[constexpr] QChar QStringView::operator[](qsizetype n) const

この文字列ビューのn の位置にある文字を返します。

n が負の数である場合、またはsize() 以上である場合、動作は未定義です。

at()、front()、およびback()も参照してください 。

関連する非メンバー関数

[noexcept] size_t qHash(QStringView key, size_t seed = 0)

`key` のハッシュ値を、計算のシードとして `seed ` を使用して返します。

[noexcept] bool operator!=(const QStringView &lhs, const QStringView &rhs)

[noexcept] bool operator<(const QStringView &lhs, const QStringView &rhs)

[noexcept] bool operator<=(const QStringView &lhs, const QStringView &rhs)

[noexcept] bool operator==(const QStringView &lhs, const QStringView &rhs)

[noexcept] bool operator>(const QStringView &lhs, const QStringView &rhs)

[noexcept] bool operator>=(const QStringView &lhs, const QStringView &rhs)

lhs とrhs を比較するための演算子。

compare()も参照してください 。

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