System::String クラス

String class

String class used across the library. Is a substitute for C# System.String when translating code. For optimization reasons, isn’t considered an Object subclass. This type should be allocated on stack and passed to functions by value or by reference. Never use System::SmartPtr class to manage objects of this type.

class String

メソッド

メソッド説明
ASPOSECPP_VALUE_TYPE_IMPLEMENTS_INTERFACES()String は C++ 側で暗黙的に(継承なしで)いくつかのインターフェイスを実装する値型です。
begin() const実際の文字列バッファの先頭へのポインタを返します。何も再割り当てしません。バッファがヌル終端であることは保証しません。
Clone() const現在の文字列のコピーを作成します。
static Compare(const String&, int, const String&, int, int, bool)Less-equal-greaterは2つのサブ文字列を比較します。
static Compare(const String&, int, const String&, int, int, bool, const SharedPtr<System::Globalization::CultureInfo>&)Less-equal-greaterは2つのサブ文字列を比較します。
static Compare(const String&, const String&, System::StringComparison)Less-equal-greaterは2つの文字列を比較します。
static Compare(const String&, int, const String&, int, int, System::StringComparison)Less-equal-greaterは2つの文字列を比較します。
static Compare(const String&, const String&, bool)Less-equal-greaterは2つの文字列を比較します。
static Compare(const String&, const String&, bool, const SharedPtr<System::Globalization::CultureInfo>&)Less-equal-greaterは2つの文字列を比較します。
static CompareOrdinal(const String&, const String&)Less-equal-greaterはOrdinalモードを使用して2つの文字列を比較します。
static CompareOrdinal(const String&, int, const String&, int, int)Less-equal-greaterはOrdinalモードを使用して2つの文字列を比較します。
CompareTo(const String&) const’less-equals-more’スタイルで2つの文字列を比較します。現在のカルチャを使用します。
static Concat(const ArrayPtr<String>&)文字列を連結します。
static Concat(const String&, const String&)文字列を連結します。
static Concat(const String&, const String&, const String&)文字列を連結します。
static Concat(const String&, const String&, const String&, const String&)文字列を連結します。
Contains(const String&) conststr が現在の文字列のサブ文字列かどうかをチェックします。
Contains(char16_t) const文字列が指定された文字を含むかどうかをチェックします。
static Copy(const String&)文字列のコピーを作成します。
CopyTo(int, const ArrayPtr<char_t>&, int, int) const文字列の文字を既存の配列要素にコピーします。サイズ変更は行われません。
end() const実際の文字列バッファの末尾へのポインタを返します。何も再割り当てしません。バッファがヌル終端であることは保証しません。
EndsWith(const String&) const文字列が指定されたサブ文字列で終わるかどうかをチェックします。
EndsWith(const String&, System::StringComparison) const文字列が指定されたサブ文字列で終わるかどうかをチェックします。
EndsWith(const String&, bool, const SharedPtr<System::Globalization::CultureInfo>&) const文字列が指定されたサブ文字列で終わるかどうかをチェックします。
Equals(const String&, System::StringComparison) constString の等価比較。いくつかのモードは StringComparison 列挙体で提供されています。
Equals(const String&) constString の等価比較。System::StringComparison::Ordinal 比較モードを使用します。
static Equals(const String&, const String&)EqualはOrdinal比較モードを使用して2つの文字列を比較します。
static Equals(const String&, const String&, System::StringComparison)Equalは2つの文字列を比較します。
FastToAscii(char, int) constString をASCII文字列に変換しようとします。
static Format(const SharedPtr<IFormatProvider>&, const String&, const Args&…)文字列をC#スタイルでフォーマットします。
static Format(std::nullptr_t, const String&, const Args&…)文字列をC#スタイルでフォーマットします。
static Format(std::nullptr_t, const char16_t(&), const Args&…)文字列をC#スタイルでフォーマットします。
static Format(const String&, const Args&…)文字列をC#スタイルでフォーマットします。
static Format(const String&, const System::ArrayPtr<T>&)文字列をC#スタイルでフォーマットします。
static FromAscii(const char *)ASCII文字列から String を作成します。
static FromAscii(const char *, int)ASCII文字列から String を作成します。
static FromAscii(const std::string&)ASCII文字列から String を作成します。
static FromUtf16(const std::u16string&)utf16文字列から String を作成します。
static FromUtf32(const uint32_t *, int32_t)utf32文字列から String を作成します。
static FromUtf8(const char *)utf8文字列から String を作成します。
static FromUtf8(const char *, int)utf8文字列から String を作成します。
static FromUtf8(const uint8_t *)utf8文字列から String を作成します。
static FromUtf8(const std::string&)utf8文字列から String を作成します。
static FromWCS(const std::wstring&)widestringから String を作成します。
get_Length() const文字列の長さを取得します。
GetHashCode() constハッシュが含まれる文字列。ICUで実装されており、C#のハッシュとは一致しません。
IndexOf(const String&, System::StringComparison) const部分文字列の前方検索。
IndexOf(char_t, int) const文字の前方検索。
IndexOf(char_t, int, int) const部分文字列内の文字の前方検索。
IndexOf(const String&, int) const部分文字列の前方検索。
IndexOf(const String&, int, System::StringComparison) const部分文字列の前方検索。
IndexOf(const String&, int, int, System::StringComparison) const部分文字列の前方検索。
IndexOf(const String&, int, int) const部分文字列の前方検索。
IndexOfAny(char_t, int) const文字の前方検索。
IndexOfAny(const String&, int) constその結果、this 内で str のすべての文字を検索します。最初の文字が見つかった場合、その位置が返され、見つからなければ次の文字を検索し、以下同様に続きます。
IndexOfAny(const ArrayPtr<char_t>&) const渡された文字のいずれかを文字列全体で検索します。最初の文字を anyOf のすべての文字と比較し、次の文字を比較するという順序で行います。対象文字のいずれかに最初に一致した文字のインデックスを返します。
IndexOfAny(const ArrayPtr<char_t>&, int32_t) const渡された文字のいずれかを部分文字列で検索します。最初の文字を anyOf のすべての文字と比較し、次の文字を比較するという順序で行います。対象文字のいずれかに最初に一致した文字のインデックスを返します。
IndexOfAny(const ArrayPtr<char_t>&, int32_t, int32_t) const渡された文字のいずれかを部分文字列で検索します。最初の文字を anyOf のすべての文字と比較し、次の文字を比較するという順序で行います。対象文字のいずれかに最初に一致した文字のインデックスを返します。
Insert(int, const String&) const指定された位置に部分文字列を挿入します。
Is(const System::TypeInfo&) const文字列オブジェクトが渡されたTypeInfoで指定された型かどうかをチェックします。
IsAsciiString() constString が ASCII 記号のみを含むかどうかを示します。
IsEmpty() const文字列が null ではなくかつ空であるかどうかをチェックします。
IsNormalized(System::Text::NormalizationForm) constUnicode 文字列が指定された正規化形式で正規化されているかどうかをチェックします。
IsNull() const文字列が null と見なされるかどうかをチェックします。String は、String() コンストラクタで作成された場合、または null 文字列から移動、コピー、代入された場合、もしくは reset() メソッドが呼び出された場合にのみ null となります。
IsNullOrEmpty() const文字列が空であるか、null と見なされるかどうかをチェックします。
static IsNullOrEmpty(const String&)渡された文字列が null または空であるかどうかをチェックします。
static IsNullOrWhiteSpace(const String&)指定された文字列が null、空、または空白文字だけで構成されているかどうかを示します。
static Join(const String&, const ArrayPtr<String>&, int, int)文字列を区切り文字として配列を結合します。
static Join(const String&, const System::Details::ArrayView<String>&, int, int)文字列を区切り文字として配列を結合します。
static Join(const String&, const SharedPtr<System::Collections::Generic::IEnumerable<String>>&)文字列を区切り文字として配列を結合します。
static Join(const String&, const ArrayPtr<SharedPtr<Object>>&)文字列を区切り文字として配列を結合します。
LastIndexOf(const String&, int) const部分文字列の後方検索。
LastIndexOf(const String&, System::StringComparison) const部分文字列の後方検索。
LastIndexOf(const String&, int, System::StringComparison) const部分文字列の後方検索。
LastIndexOf(const String&, int, int, StringComparison) const部分文字列の後方検索。
LastIndexOf(char_t) const文字の後方検索。
LastIndexOf(char_t, int32_t) const文字の後方検索。
LastIndexOf(char_t, int32_t, int32_t) const文字の後方検索。
LastIndexOfAny(const ArrayPtr<char_t>&) const渡された文字のいずれかを文字列全体で後方に検索します。最後の文字を anyOf のすべての文字と比較し、前の文字を比較するという順序で行います。最初に一致した文字のインデックスを返します。
LastIndexOfAny(const ArrayPtr<char_t>&, int32_t) const渡された文字のいずれかを部分文字列で後方に検索します。最後の文字を anyOf のすべての文字と比較し、前の文字を比較するという順序で行います。最初に一致した文字のインデックスを返します。
LastIndexOfAny(const ArrayPtr<char_t>&, int32_t, int32_t) const渡された文字のいずれかを部分文字列で後方に検索します。最後の文字を anyOf のすべての文字と比較し、前の文字を比較するという順序で行います。最初に一致した文字のインデックスを返します。
Normalize(System::Text::NormalizationForm) const指定された正規化形式を使用して Unicode 文字列を正規化します。
operator!=(const String&) const非等価比較演算子。
operator!=(std::nullptr_t) const文字列が null でないかどうかをチェックします。IsNull() 呼び出しと同じロジックが適用されます。
operator+(const String&) constString 連結演算子。
operator+(const T&) constString の文字列リテラルまたは文字列ポインタとの連結。
operator+(char_t) const文字を文字列の末尾に追加します。
operator+(int) const整数値の文字列表現を文字列の末尾に追加します。
operator+(uint32_t) const符号なし整数値の文字列表現を文字列の末尾に追加します。
operator+(double) const浮動小数点値の文字列表現を文字列の末尾に追加します。
operator+(int64_t) const整数値の文字列表現を文字列の末尾に追加します。
operator+(const T&) const参照型オブジェクトの文字列表現を文字列の末尾に追加します。
operator+(const T&) const参照型オブジェクトの文字列表現を文字列の末尾に追加します。
operator+(T) constブール値の文字列表現を文字列の末尾に追加します。
operator+=(char_t)連結代入演算子。
operator+=(const String&)連結代入演算子。
operator+=(double)連結代入演算子。
operator+=(uint8_t)連結代入演算子。
operator+=(int16_t)連結代入演算子。
operator+=(uint16_t)連結代入演算子。
operator+=(int32_t)連結代入演算子。
operator+=(uint32_t)連結代入演算子。
operator+=(int64_t)連結代入演算子。
operator+=(uint64_t)連結代入演算子。
operator+=(T)連結代入演算子。
operator<(const String&) const文字列を順序比較します。
operator=(const String&)代入演算子。
operator=(String&&)ムーブ代入演算子。
operator==(const String&) const等価比較演算子。
operator==(std::nullptr_t) const文字列が null かどうかをチェックします。 IsNull() 呼び出しと同じロジックが適用されます。
operator>(const String&) const文字列を順序比較します。
operator[](int) const指定位置の文字を取得します。
PadLeft(int, char_t) const元の文字列の左側にパディングを追加します。
PadRight(int, char_t) const元の文字列の右側にパディングを追加します。
rbegin() const実際の文字列バッファの最後の文字(存在する場合)への逆イテレータを返します。
Remove(int32_t, int32_t) const現在の文字列からサブ文字列以外のすべてを抽出します。
rend() const実際の文字列バッファの最初の文字の前(存在する場合)への逆イテレータを返します。
Replace(char_t, char_t) const文字列内の文字のすべての出現を置換します。
Replace(const String&, const String&) constこの文字列内の検索対象のすべての出現を置換します。
reset()文字列を null に設定します。C# の ‘string_variable_name = null’ と同等です。
SetCharAt(int, char_t)指定位置に文字を設定します。
Split(char_t, StringSplitOptions) const文字で文字列を分割します。
Split(char_t, int32_t, StringSplitOptions) const文字で文字列を分割します。
Split(char_t, char_t, StringSplitOptions) const2 つの文字のいずれかで文字列を分割します。
Split(const ArrayPtr<char_t>&, StringSplitOptions) const指定された文字のいずれかで文字列を分割します。
Split(const ArrayPtr<char_t>&, int32_t, StringSplitOptions) const指定された文字のいずれかで文字列を分割します。
Split(const String&, StringSplitOptions) const部分文字列で文字列を分割します。
Split(const String&, int, StringSplitOptions) const部分文字列で文字列を分割します。
Split(const ArrayPtr<String>&, StringSplitOptions) const部分文字列で文字列を分割します。
Split(const ArrayPtr<String>&, int, StringSplitOptions) const部分文字列で文字列を分割します。現在、0 または 1 要素の区切り文字配列のみサポートしています。
StartsWith(const String&) const文字列が指定された部分文字列で始まるかチェックします。
StartsWith(const String&, System::StringComparison) const文字列が指定された部分文字列で始まるかチェックします。
StartsWith(const String&, bool, const SharedPtr<System::Globalization::CultureInfo>&) const文字列が指定された部分文字列で始まるかチェックします。
String()デフォルトコンストラクタ。null と見なされる文字列オブジェクトを作成します。
String(T&, typename std::enable_if<IsStringLiteral<T, char16_t>::value>::type *)文字列リテラルに基づいて文字列を構築します。リテラルを null 終端文字列とみなし、リテラルサイズに基づいて対象文字列の長さを計算します。
String(const T&, typename std::enable_if<IsStringPointer<T, char16_t>::value>::type *)文字列ポインタに基づいて文字列を構築します。指された文字列を null 終端とみなし、null 文字に基づいて対象文字列の長さを計算します。
explicit String(T&, typename std::enable_if<IsStringLiteral<T, char>::value>::type *)文字列リテラルに基づいて文字列を構築します。リテラルを UTF8 の null 終端文字列とみなし、リテラルサイズに基づいて対象文字列の長さを計算します。
explicit String(const T&, typename std::enable_if<IsStringPointer<T, char>::value>::type *)文字列ポインタに基づいて文字列を構築します。指された文字列を UTF8 の null 終端とみなし、null 文字に基づいて対象文字列の長さを計算します。
String(const char16_t *, int)文字列ポインタと明示的な長さから文字列を構築します。
String(const char *, int)文字列ポインタと明示的な長さから文字列を構築します。
String(const char16_t *, int, int)開始位置から長さを使用して文字列ポインタから文字列を構築します。
explicit String(const char16_t, int)フィルコンストラクタ。
String(const T&, typename std::enable_if<std::is_same<T, std::nullptr_t>::value>::type *)nullptr コンストラクタ。他のテンプレートコンストラクタとの優先順位を解決するためにテンプレートとして宣言されています。
explicit String(T&, typename std::enable_if<IsStringLiteral<T, wchar_t>::value>::type *)ワイド文字列リテラルに基づいて文字列を構築します。リテラルを null 終端文字列とみなし、リテラルサイズに基づいて対象文字列の長さを計算します。wchar_t からの変換は一部のプラットフォームで時間がかかるため、暗黙的な変換は許可されません。
explicit String(const T&, typename std::enable_if<IsStringPointer<T, wchar_t>::value>::type *)ワイド文字列ポインタに基づいて文字列を構築します。指された文字列を null 終端とみなし、null 文字に基づいて対象文字列の長さを計算します。wchar_t からの変換は一部のプラットフォームで時間がかかるため、暗黙的な変換は許可されません。
explicit String(const wchar_t *, int)ワイド文字列ポインタと明示的な長さから文字列を構築します。wchar_t からの変換は一部のプラットフォームで時間がかかるため、暗黙的な変換は許可されません。
explicit String(const wchar_t, int)フィルコンストラクタ。wchar_t からの変換は一部のプラットフォームで時間がかかるため、暗黙的な変換は許可されません。
String(const String&)コピーコンストラクタ。
String(String&&)ムーブコンストラクタ。
String(const ArrayPtr<char16_t>&)文字配列全体を文字列に変換します。
String(const ArrayPtr<char16_t>&, int, int)文字配列のサブレンジを文字列に変換します。パラメータが配列の範囲外の場合、空の文字列が構築されます。
explicit String(const codeporting_icu::UnicodeString&)UnicodeString を String にラップします。
explicit String(codeporting_icu::UnicodeString&&)ムーブコンストラクタ。
explicit String(const std::wstring&)widestringから String を作成します。
explicit String(const std::u16string&)utf16文字列から String を作成します。
explicit String(const std::string&)UTF-8 形式で提示された std::string 文字列から String を作成します。
explicit String(const std::u32string&)std::u32string 文字列から String を作成します。
Substring(int32_t) const部分文字列を抽出します。
Substring(int32_t, int32_t) const部分文字列を抽出します。
ToAsciiString() const文字列を std::string に変換します。ASCII エンコーディングを使用します。
ToByteArray(int32_t, int32_t, bool) const文字列または部分文字列をバイト配列に変換します。
ToCharArray(int32_t, int32_t) const文字列またはサブ文字列を文字の配列に変換します。
ToLower() const文字列のすべての文字を小文字に変換します。
ToLower(const SharedPtr<System::Globalization::CultureInfo>&) const特定のカルチャーを使用して文字列のすべての文字を小文字に変換します。
ToLowerInvariant() const不変カルチャーを使用して文字列のすべての文字を小文字に変換します。
ToString() const値型オブジェクトで ToString() が呼び出されるコンテキストで、String クラスを扱うためのラッパーです。
ToString(const SharedPtr<IFormatProvider>&) const値型オブジェクトで ToString() が呼び出されるコンテキストで、String クラスを扱うためのラッパーです。
ToU16Str() const文字列を std::u16string に変換します。
ToU32Str() const文字列を std::u32string に変換します。
ToUpper() const文字列のすべての文字を大文字に変換します。
ToUpper(const SharedPtr<System::Globalization::CultureInfo>&) const特定のカルチャーを使用して文字列のすべての文字を大文字に変換します。
ToUpperInvariant() const不変カルチャーを使用して文字列のすべての文字を大文字に変換します。
ToUtf8String() const文字列を std::string に変換します。UTF-8 エンコーディングを使用します。
ToWCS() const文字列を std::wstring に変換します。
Trim() const文字列の先頭と末尾の両方からすべての空白文字を削除します。
Trim(char_t) const文字列の先頭と末尾の両方から渡された文字のすべての出現を削除します。
Trim(const String&) const文字列の先頭と末尾の両方から渡された文字群のすべての出現を削除します。
Trim(const ArrayPtr<char_t>&) const文字列の先頭と末尾の両方から渡された文字群のすべての出現を削除します。
TrimEnd() const文字列の末尾からすべての空白文字を削除します。
TrimEnd(char_t) const文字列の末尾から渡された文字のすべての出現を削除します。
TrimEnd(const String&) const文字列の末尾から渡された文字群のすべての出現を削除します。
TrimEnd(const ArrayPtr<char_t>&) const文字列の末尾から渡された文字群のすべての出現を削除します。
TrimStart() const文字列の先頭からすべての空白文字を削除します。
TrimStart(char_t) const文字列の先頭から渡された文字のすべての出現を削除します。
TrimStart(const String&) const文字列の先頭から渡された文字群のすべての出現を削除します。
TrimStart(const ArrayPtr<char_t>&) const文字列の先頭から渡された文字群のすべての出現を削除します。
u_str() constICU 形式の null 終端バッファを返します。文字列を再割り当てする場合があります。
~String()デストラクタ。

フィールド

フィールド説明
static Empty空文字列です。
static Nullnull 文字列です。

Typedefs

型定義説明
reverse_iterator逆イテレータ型。

備考

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

int main()
{
  // 文字の配列から文字列を構築し、出力します。
  const auto chars = {u'h', u'e', u'l', u'l', u'o'};
  const System::String string1(chars);
  std::cout << string1 << std::endl;

  // バイト配列から文字列を作成し、出力します。
  const uint8_t bytes[] = {0x77, 0x6f, 0x72, 0x6c, 0x64, 0x0};
  const auto string2 = System::String::FromUtf8(bytes);
  std::cout << string2 << std::endl;

  // 以下の文字列をトリムして出力します。
  const System::String string3(u"   This string contains whitespaces in the beginning and at the end.   ");
  std::cout << '"' << string3.Trim() << '"' << std::endl;

  // 文の単語数を出力します。
  std::cout << "Number of words: " << string3.Trim().Split(' ')->get_Length() << std::endl;

  return 0;
}
/*
This code example produces the following output:
hello
world
"This string contains whitespaces in the beginning and at the end."
Number of words: 11
*/

参照