Docs

  • WSOFT Docs
  • あみうは
    • あみうは
    • 新学期が始まりました!
    • 恋の相談
    • プチコン3号で作ったのは?
    • オススメの文庫
    • マクドナルド最高!
    • ios11β レビュー
    • あみうはの歌について
    • ついに自分のソフトウェアのホームページができました。
    • Windowsタブレットをリセットして起動しなくなった人のために
    • PCレスで YouTubeの曲を携帯mp3プレイヤーで聴く(iPhone)
    • 食べられないラズベリーパイを買いました。(1)
    • ラズベリーパイの下ごしらえ(2)
    • 小説始めます~
    • 女子がキュンとくる行動ベスト3!!
    • MacとWindowsについてあまり知られていない事
    • macでできる裏技
    • ドコモの格安スマホ「MONO」買っちゃいました☆いい所をいくつか
    • 『レビュー』iPhone6sを1年間使い続けて思ったこと
    • iPhoneの拡大鏡に関するバクを発見しました。
    • iPhoneで圧縮ファイルを作成したり解凍する方法
    • Obscura2が今だけ無料!使い方まとめ
    • Windowsタブレットがブルースクリーンになった時のメモ
    • お知らせ
      • あみうはからのお知らせ
      • あみうは ブログ始めました。
      • 予告 web ページの更新について 🇯🇵ver 2.0.0.jp Deep Space 🇺🇸ver 2.0.0 Deep Space
      • あみうはショップから大切なお知らせ
      • みんなの投稿サービス終了のお知らせ
      • あけましておめでとうございます
      • あみうはホームページをアップデートしました。
      • あみうは はついに1周年を迎えました!!1年間を振り返ります!
      • あみうはダウンロードの閉鎖について
      • 特定商取引法に基づく表記
      • あみうは系サイトの閉鎖について
  • ブログ
    • ブログ
    • WSOFT AdventWeek 2022のお知らせ
    • DiscordのBotは多重人格の夢を見るか?
    • WSOFTのアイコンを入手する
    • WSOFTDocs へようこそ
    • WSOFTの製品の一覧
    • wsoft.wsへのドメイン移行に関する情報
    • WSOFTのロゴ変更に関する情報
    • WSOFTのドキュメントの WSOFT Docs への移行に関する情報
    • Raspberry Pi初代やZeroでAliceScriptを実行する
    • Losetta0.9.16に更新した後のエラーを直す
    • WSOFT AdventWeekへようこそ
  • 共同作成ガイド
    • 概要
    • コントリビュータ行動規範
    • リンクの使い方
    • Markdownリファレンス
    • メタデータ
    • テキストの書式設定に関する指針
  • 法的資料
    • 法的資料
    • Alice-EULA-R
    • WSOFT-EULA
    • WSTube エンドユーザー利用規約
    • あみうは利用規約
    • WSOFTダウンロードセンター利用規約
    • 使用条件
  • 製品
    • 製品
    • PCMX
      • ブートローダーメニューの使い方
    • WSOFTアカウント
      • WSOFTアカウントの概要
      • WebからWSOFTアカウントにログインする
      • WindowsアプリからWSOFTアカウントにログインする
      • WSOFTオンライン手続きの概要
    • AliceScript
      • AliceScript
      • 謝辞
      • ダウンロード
      • Alice(キャラクター)
      • AliceScriptのツアー
      • Wikiの概要
      • APIブラウザー
        • APIブラウザー
        • Alice
          • delay
          • exit
          • function
          • import
          • include
          • lock
          • print
          • string_format
          • using
          • write
          • Environment
            • env_commandLine
            • env_commandLineArgs
            • env_set_exitCode
            • env_hasshutdownstarted
            • env_Is64BitOperatingSystem
            • env_Is64BitProcess
            • env_MachineName
            • env_NewLine
            • env_os_platform
            • env_os_version
          • Exception
            • Exception
            • ErrorCode
            • Message
            • ToString
          • Interpreter
            • Type
              • Type
              • Activate
              • Base
              • IsObject
              • Namespace
              • ToNativeProperty
              • ToString
          • Math
            • math_abs
            • math_acos
            • math_acosh
            • math_atan
            • math_atan2
            • math_atanh
            • math_bitdecrement
            • math_bitincrement
            • math_cbrt
            • math_celling
            • math_clamp
            • math_copysign
            • math_cos
            • math_cosh
            • math_e
            • math_exp
            • math_floor
            • math_fusedmultiplyadd
            • math_isprime
            • math_max
            • math_min
            • math_pi
            • math_pow
            • math_round
            • math_sin
            • math_sinh
            • math_sqrt
            • math_tan
            • math_tanh
            • math_tau
            • math_truncate
          • Net
            • web_download_file
            • web_download_file
            • web_download_text
            • web_htmldecode
            • web_htmlencode
            • web_send_ping
            • web_upload_data
            • web_upload_file
            • web_upload_text
            • web_urldecode
            • web_urlencode
          • Security
            • password_hash
            • password_hash_data
            • password_salt
            • password_verify
            • password_verify_data
          • Threading
            • signal
            • signal_wait
            • task_run
            • thread_id
            • thread_queue
        • Array
          • array
          • Add
          • AddRange
          • All
          • Any
          • Contains
          • Distinct
          • Except
          • First
          • Flatten
          • Foreach
          • IndexOf
          • Insert
          • InsertRange
          • Intersect
          • Last
          • Length
          • Merge
          • OfType
          • OrderBy
          • OrderByDescending
          • Remove
          • RemoveAt
          • RemoveRange
          • Reverse
          • Select
          • SequenceEqual
          • Size
          • Skip
          • SkipWhile
          • Sort
          • Take
          • TakeWhile
          • Union
          • Where
        • Bool
          • bool
        • Bytes
          • bytes
        • Delegate
          • delegate
          • BeginInvoke
          • Invoke
        • None
          • none
        • Number
          • number
        • String
          • string
          • CompareTo
          • Contains
          • EndsWith
          • Format
          • IndexOf
          • Insert
          • IsEmptyOrNull
          • IsEmptyOrWhite
          • IsNormalized
          • Join
          • LastIndexOf
          • Normalize
          • PadLeft
          • PadRight
          • Remove
          • RemoveAt
          • Replace
          • Split
          • StartsWith
          • SubString
          • ToLower
          • ToLowerInvariant
          • ToUpper
          • ToUpperInvariant
          • Trim
          • Trim
          • TrimStart
        • Variable
          • variable
          • Clone
          • Convert
          • DeepClone
          • Dispose
          • Equals
          • Properties
          • ToString
          • Type
      • 変更履歴
        • 新機能の一覧
        • AliceScript GoldenMasterの新機能
        • AliceScript 2.1の新機能
        • AliceScript 2.2の新機能
        • AliceScript 2.3の新機能
        • 互換性に影響を与える変更点
        • Nightyビルドの変更履歴
        • AliceScript RC2の新機能
        • Losetta
          • Losettaの更新履歴
          • Losetta 0.9.15
          • Losetta 0.9.16
          • Losetta 0.9.17
          • Losetta 0.9.18
          • Losetta 0.9.19
          • Losetta 0.9.20
      • 基本
        • 基本
        • AliceScript ADK
        • AlicePackage
        • AliceSister
        • AliceSister
        • AliceScriptのコーディング規約
        • イベント
        • 例外
        • 式
        • 前処理指令
        • AliceModel
        • 変数
      • Alice in Discord
        • Alice in Discordの紹介
        • Alice in Discordの基礎
        • Alice in Discord コミュニティガイドライン
        • Alice in Discordに関連するプロジェクトの一覧
      • 相互運用
        • 基本的なAliceScriptライブラリの開発
      • チュートリアル
        • チュートリアル
        • 初めてのAliceScript
        • パッケージのビルド
        • 数値型の計算誤差
        • 自分自身の関数を取得する
        • AlicePackageの関連付け
        • WSOFTScriptからの移行
        • AliceScriptで安全にパスワードを保存する
        • Losettaを更新する
    • ダウンロードセンター
      • WSOFTダウンロードセンターの概要
      • API
      • 検索
      • マネージャー
        • WSOFTダウンロードセンターマネージャーの概要
        • 更新履歴
          • WSOFTダウンロードセンター管理端末の更新情報
          • バージョン50
          • バージョン53
    • ほめて.ws
      • ほめて.wsの概要
    • アイコンメーカー
      • アイコンメーカーの概要
    • WSOFTScript
      • WSOFTScript
      • WSOFTScript 0.07 R3
      • WSOFTScript 0.07 R4
      • WSOFTScript 2020 LTSの情報
      • WSOFTScriptのライフサイクル
      • 使用されているLosettaのバージョンを確認する
      • WSOFTScript Pocket 2020 Beta
      • Shangri-la 0.07 R4
      • Shangri-la 2020 LTS
    • Unidet
      • Unidetへようこそ
    • WebSailing
      • WebSailing
      • 謝辞
      • APIブラウザー
      • 更新履歴
        • WebSailingNXの更新情報
        • NX 83
        • NX 104.1
        • NX 105
        • NX 105.1
        • NX 106
        • NX 106.1
        • NX 106.2
        • NX 107
        • NX 107.1
        • NX 107.2
        • NX 108
        • NX 109
        • NX 110
        • NX 110.1
        • NX 110.2
        • NX 110.3
        • NX 111
      • GL
        • WebSailingの仕様について(GL系のみ)
        • 更新履歴
          • WebSailingGLの更新情報
          • 1.5.01
          • 1.5.02
          • 1.5.03
          • 1.5.04
          • 1.5.05
          • 1.5.06
          • 2.0
          • 2.1
          • 3.0
          • 20Edition
        • ガイド
          • WebSailingGLプロンプトリファレンス
          • エラーコードE001
          • エラーコードE002
          • エラーコードE003
          • エラーコードU001
          • エラーコードU002
          • WebSailingGLで特定のUrlをブロックする方法
          • WebSailingを更新する方法
          • WebSailingヘルプ
          • WebSailingのコンポーネント変更についてのお知らせ
          • WebSailingプロンプトを極める!その1 API を極める
      • NX(レガシー)
        • WebSailingNX(レガシー)
        • 更新履歴
        • 開発者向け
          • サービス終了後も拡張機能を実行する方法
          • プラグインからSafeBrowsingAPIを呼び出す
          • プラグインガードの概要
        • ガイド
          • WebSailingNXターミナルリファレンス
          • PlusLibraryでライブラリエラー500が発生する場合
          • 認識エラーM300が発生する場合
          • WebSailingのキャッシュを削除する
          • 全画面表示を使う方法
          • WebSailingヘルプ
          • WIWで、NXツールを使う
          • おまけ
          • 捕捉されなかった例外が発生しましたと表示される場合
        • PlusLibrary
          • WSTubeMOD
          • 携帯電話モード
          • 郵便番号検索
      • チュートリアル
        • チュートリアル
        • 起動時に使用される設定を構成する
        • 設定が原因で起動できないと考えられる場合の対処方法
        • WebSailingのWindows7/8.1 Server2012/R2のサポート終了に関するお知らせ
        • AliceScriptを使ってWebSailingを制御する
    • WSNET
      • WSNET
      • WSNETの概要
      • ニュース
        • ニュース
        • WSNET/WAN DHCP機能提供開始
        • WSOFTダウンロードセンターマネージャー v42リリース
        • WSNETDocs提供開始
        • WSOFTダウンロードセンターマネージャーのWSOFTダウンロードセンターマネージャーDocsへの移行に関するお知らせ
      • チュートリアル
        • チュートリアル
        • SoftEtherを使用してWSWANに接続する
        • OpenVPNを使用してWSWANに接続する
        • 証明書のインストール
    • WSTodon
      • WSTodonの概要
      • よくある質問と回答
    • WSTube
      • WSTubeの紹介
      • クレジット
      • WSTube ユーザーガイド
      • お知らせ
        • WSTube NEXTの紹介
        • WSTube NEXT Procyonの紹介
        • WSTube NEXT October’2019の紹介
    • Lantana
  • 生存報告
    • 生存報告
    • 22年度1学期
      • 生存報告
      • イントロダクション
      • おやすみ。
      • 生存報告
      • つながり
      • 生存報告論
      • その一言で、
      • 信じるということ
      • またね。
    • 22年度2学期
      • やさしさ
      • 心の城
      • 勤労感謝の日
      • 自分のことを助けられるのは自分しかいない
      • 大丈夫は大丈夫じゃない
      • おしごと
      • 大きなものは無視できない
      • 石ころの唄
      • 表裏一体
目次
  • 定義
  • プロパティ
  • メソッド
  • 説明
    • 文字列型の変数を定義する
    • 文字列リテラル
    • 逐語的文字列リテラル
    • 生文字列リテラル
    • 文字列と文字
    • 文字列とUnicode標準

string

  1. WSOFTDocs
  2. 製品
  3. AliceScript
  4. APIブラウザー
  5. String
  6. string

配列型は、インデックスを使用してアクセスできる変数のリストを表します


たい | 2023-03-28

定義

名前空間:Alice / アセンブリ : Losetta.dll / サポート: AliceScript1

文字列型は、テキストを一連のUTF-16コード単位として表現します。文字列型は結合、比較、等値演算子をサポートしています。 文字列型の規定値は空の文字列""です。また、この型の型指定修飾子はstringです。

すべてのAliceScriptに組み込まれている型はすべて文字列型への暗黙的な変換をサポートしています。文字列型に限って、明示的な変換と明示的な変換は同じ動作になります。

AliceScript
namespace Alice;
public class string;

プロパティ

名前 説明
IsNormalized 現在の文字列が共通の正規化された形式であるかを示す値を取得します
Length その変数の持つデータ長を表します

メソッド

名前 説明
CompareTo(string item) この文字列と指定した文字列を比較して、文字列を並べ替えたときにこの文字列が前にくるか、後ろにくるか、または同じであるかを表す整数を取得します
Contains(string item) 現在の文字列内に指定された文字列が存在するかを示す値を取得します
EndsWith(string item) 現在の文字列が指定した文字列で終わるかどうかを判定します
Format(params variable item) 指定された値を使用して現在の文字列を複合書式指定子としてフォーマットした文字列を取得します
IndexOf(string item,number startIndex=0) 指定された文字列が現在の文字列内で最初に見つかった位置のインデックスを返します
Insert(number index,string item) 現在の文字列内の指定したインデックスにその値を挿入した文字列を取得します
IsEmptyOrNull() 現在の文字列が空か、あるいはnullであるかどうかを示す値を取得します
IsEmptyOrWhite() 現在の文字列が空か、あるいは空白文字のみであるかどうかを示す値を取得します
Join(string split,params string item) 指定された区切り文字を使用して文字を連結します
LastIndexOf(string item,number startIndex=0) 指定された文字列が現在の文字列内で最後に見つかった位置のインデックスを返します
Normalize() 同じ文字を表すコードポイントのすべての並びを共通の正規化された形式に文字列を変換した新しい文字列を取得します
PadLeft(number totalWidth,string padding=" ") 指定された文字数になるまで左側に指定された文字列を埋め込むことで、この文字列を右寄せした新しい文字列を取得します
PadRight(number totalWidth,string padding=" ") 指定された文字数になるまで右側に指定された文字列を埋め込むことで、この文字列を左寄せした新しい文字列を取得します
Remove(params string item) 現在の文字列から指定された値を削除した文字列を取得します
RemoveAt(number index) 現在の文字列の指定したインデックスにある値を削除した文字列を取得します
Replace(string oldValue,string newValue) 現在の文字列内に出現する特定の文字列をすべて指定した文字列に置き換えます
Split() 現在の文字列を一文字ずつに分割します
Split(string split) 現在の文字列を指定した区切り文字列で分割した配列を取得します
StartsWith(string item) 現在の文字列が指定した文字列で始まるかどうかを判定します
SubString(number start) 現在の文字列から指定した範囲の文字列を取得します
SubString(number start,number length) 現在の文字列から指定した範囲の文字列を取得します
Size() その変数の持つデータ長を取得します
ToLower() 現在の文字列内の文字をすべて小文字に置換します
ToLowerInvariant() インバリアント カルチャの大文字と小文字の規則を使用して、現在の文字列内の文字をすべて小文字に置換します
ToUpper() 現在の文字列内の文字をすべて大文字に置換します
ToUpperInvariant() インバリアント カルチャの大文字と小文字の規則を使用して、現在の文字列内の文字をすべて大文字に置換します
Trim() 現在の文字列から先頭および末尾にある空白文字をすべて削除した文字列を取得します
Trim(params string item) 現在の文字列から指定した文字列が先頭および末尾に現れる箇所をすべて削除した文字列を取得します
TrimEnd() 現在の文字列から末尾にある空白文字をすべて削除した文字列を取得します
TrimEnd(params string item) 現在の文字列から指定した文字列が末尾に現れる箇所をすべて削除した文字列を取得します
TrimStart() 現在の文字列から先頭にある空白文字をすべて削除した文字列を取得します
TrimStart(params string item) 現在の文字列から指定した文字列が先頭に現れる箇所をすべて削除した文字列を取得します

説明

文字列は、テキストを表すために使用される文字の配列とみなすことができます。メモリ内のstring型の最大サイズは2GB、つまりおよそ10億文字です。

文字列型の変数を定義する

文字列型は次の方法で初期化されます。

  • 変数に文字列リテラルを割り当てる。これは文字列を作成するためにもっとも一般的に使用される方法です。次の例では、代入を使用して文字列を定義しています。
AliceScript
var str = "Hello,World";
  • 文字列連結演算子(+)を使用して、文字列リテラル同士を結合する。次の例では、文字列リテラル同士を+や+=演算子を使用して結合しています。
AliceScript
var str = "Hello," + "World";
str += "!";
print(str);
  • 複合書式指定を使用するか、ToStringメソッドを呼び出して変数を文字列に変換する。次の例では、数値型に対してToString()メソッドを呼び出すことで文字列を生成しています。
AliceScript
var a = 1;
var str = a.ToString();

文字列リテラル

プログラム内で文字列を定義するには、文字列リテラルを使用します。文字列リテラルは通常、ダブルクオーテーション(")で囲まれています。この種の文字列リテラルの宣言中に改行やコメントを挟むことはできません。次に例を示します。

AliceScript
var str = "Hello,World";

また、文字列リテラル内で特殊文字を使用するには、エスケープ文字を使用する必要があります。次に、エスケープ文字とその意味を示します。

文字 説明
\\ バックスラッシュ(\)を表します
\' シングルクオーテーション(')を表します
\" ダブルクオーテーション(")を表します
\n 改行文字を表します
\0 ヌル文字を表します
\a ベル(警告音)を表します
\b バックスペースを表します
\f フォームフィード
\r キャリッジリターン
\t 水平タブ
\v 垂直タブ

特殊文字とレンダリング

ここで示した文字に限らず、すべてのUnicode文字がレンダリングされるわけではありません。たとえば\aは、レンダリングされず、コンソールに警告音を鳴らします。

また、\u0000のように指定することで4バイトUnicode文字コードを表現することができます。

さらに、\U00000000のように指定することで8バイトUnicode文字コードも表現可能です。

逐語的文字列リテラル

逐語的文字列リテラルを使用すると、ダブルクオーテーション(")などをエスケープ文字なしに表現できます。この形式で文字列を表現するには文字列をシングルクオーテーション(')で囲みます。逐語的文字列リテラルではエスケープ文字は、\\と\'のみ使用できます。次に例を示します。

AliceScript
var str = '"Hello",World'; // "Hello",World

生文字列リテラル

生文字列リテラルを使用すると、さらに柔軟に文字列を表現できます。まず、この方式ではエスケープ文字は使用できません。さらに、宣言中の改行が許可されます。これは次のように宣言します。

AliceScript
var str ="""Hello,
"World"!"""

つまり、生文字列リテラルでは、文字列を必要な個数のダブルクオーテーション(")で囲みます。ダブルクオーテーションは少なくとも3つ以上必要で、奇数個である必要があります。 また、このリテラル内ではそれ自体を囲むダブルクオーテーションの数を超えない限り、ダブルクオーテーションを連続して使用できます。つまり、""を表現するには""" "" """とすればできますし、"""を表現するには""""" """ """とすれば表現できます。

ダブルクオーテーションは奇数個

生文字列リテラルを囲むダブルクオーテーションは必ず奇数個を使用してください。たとえば、"""" "" """"と表現するとインタプリタには5つの文字列リテラルと解釈されます。

文字列と文字

文字列内の各文字は、内部的にはUnicodeコードポイントのスカラー(数値)として扱われています。実際、string.foreachメソッドを使用すると文字列をひとつひとつの文字を含む文字列に変換することができ、string.lengthプロパティを呼び出すと、文字列内に含まれる文字の個数を取得することができます。

通常、ひとつの要素はひとつの文字を表します。つまり、string.lengthの値は文字列内に含まれる文字の個数と等しくなります。しかし、特殊な文字の中には複数の要素が必要になる場合があります。(これをサロゲートペアと呼びます)この場合、string.lengthの値は必ずしも文字列内に含まれる文字の個数と一致するとは限りません。

文字列とUnicode標準

文字列の扱いは各実装の.NETに任せているため、各実装のバージョンあるいは.NETのバージョンによって対応するUnicodeのバージョンが異なる可能性があります。

次の表は、AliceScriptの各実装と準拠するUnicodeのバージョンを示します。

実装の名前 Unicode標準のバージョン
AliceScript Unicode標準、バージョン11.0.0
AliceSister Unicode標準、バージョン6.3.0
Losetta Unicode標準、バージョン13.0.0
検索
No results found