文字列(Ver9.00対応版)
目次−
式について−
文字列
文字列は、ダブルクォーテーションで囲みます。
ダブルクォーテーション記号そのものや\マークは、\を付けて指定します。
例 |
"これは、\"文字列\"です。"
"\\記号"
|
タブ文字は\t,改行文字は\n で指定できます。
文字コードを指定したい場合は、\xを使って16進数で指定します。
8進数の表記には対応していません。(例えば\oooのoに数字を書く書き方)
Unicodeで文字コードを指定したい場合は、\uの後に16進数4桁で指定します。
または\Uの後に16進数8桁で指定します。(V8.52以降)
Unicodeの表示は、原則的に編集エリアのみで行うことができます。Windows NT,2000,XPにおいては、message文,question文などのメッセージを出すところでも可能です。
例 |
"Unicodeで「あ」は、\u3042です。"
|
マクロファイルをUnicode(UTF-16)で保存すると、Unicodeの文字を直接記述できます。(V8.00以降)
Unicode(UTF-16)で保存する場合は、必ずBOM付きである必要があります。
マクロファイルをUnicode(UTF-8)で保存すると、Unicodeの文字を直接記述できます。(V8.50以降)
Unicode(UTF-8)で保存する場合は、必ずBOM付きである必要があります。
Unicode(UTF-16,Big-Endian)には対応していません。
Unicodeの文字コードを文字列に変換するには、
unichar関数を使う方法もあります。
文字列の演算としては、+ だけが使えます。+ は文字列を連結します。
文字列と変数
文字列の中に変数の内容を入れる場合は、ダブルクォーテーションの中に変数名を書き込む方法は使えません。「+」を使って文字列を連結させる必要があります。
また、数値型の変数の値を文字列に結合する際には、str関数などで文字列型に変換してから結合する必要があります。
例 |
$moji="あいう";
message "変数の内容は$mojiです"; //×この書き方はできません。
message "変数の内容は" + $moji + "です"; //〇この書き方でできます。
#kazu=123;
message "数値の内容は#kazuです"; //×この書き方はできません。
message "数値の内容は" + #kazu + "です"; //×この書き方もできません。
message "数値の内容は" + str(#kazu) + "です"; //〇この書き方でできます。
|
「R"」から始まる文字列
「R"(」または「R"keyword(」で始まる書き方で、文字列をエスケープなしで書くことができます。(V8.66以降)
「R"(」を始まりにすると、「)"」が現れるまでの全ての文字を文字列として解釈します。
「R"keyword(」を始まりにすると、「)keyword"」が現れるまでの全ての文字を文字列として解釈します。keywordは任意です。
文字列として解釈されている範囲の「\」はそのまま「\」と書くことができます。
「"」はそのまま「"」と書くことができます。
改行はそのまま改行として複数行で書くことができます。
例 |
//以下の2つは同じ
message "文字列";
message R"(文字列)";
//以下の2つは同じ
message "文字列";
message R"hoge(文字列)hoge";
//以下の2つは同じ
message "複数行\n文字列";
message R"(複数行
文字列)";
//以下の2つは同じ
message "\"C:\\Program Files (x86)\"";
message R"xxx("C:\Program Files (x86)")xxx";
|
「@"」から始まる文字列
「@"」で始まる書き方で、文字列を「"」以外のエスケープなしで書くことができます。(V8.66以降)
「@"」から「"」までが文字列として解釈されますが、途中に「""」がある場合は1つの「"」として解釈します。
「\」はそのまま「\」と書くことができます。
「"」はそのまま「""」と書く必要があります。
改行はそのまま改行として複数行で書くことができます。
例 |
//以下の2つは同じ
message "文字列";
message @"文字列";
//以下の2つは同じ
message "複数行\n文字列";
message @"複数行
文字列";
//以下の2つは同じ
message "\"C:\\Program Files (x86)\"";
message @"""C:\Program Files (x86)""";
|
V8.92からは、標準の秀丸マクロのカラー表示で、/*〜*/や、@""、R"()"の書き方にも対応しています。
V8.92未満では、[その他]→[ファイルタイプ別の設定]→[デザイン]→[複数行コメント]で「ユーザー定義」で定義して色付けすることが可能です。
例 |
開始文字列「/*」
終了文字列「*/」
表示方法「コメント」
種類「複数行」
開始文字列「//」
表示方法「コメント」
種類「単一行(行末まで)」
開始文字列「R"(.*?)\(」で正規表現をON
終了文字列「\)\1"」で正規表現をON
表示方法「文字列」
種類「複数行」
「開始文字列のタグを終了文字列でも使う」をON
開始文字列「@"("")*"(?!")」で正規表現をON
表示方法「文字列」
種類「単一の文字列」
開始文字列「@"」で正規表現をON
終了文字列「(?<!")("")*"(?!")」で正規表現をON
表示方法「文字列」
種類「複数行」
開始文字列「"」
終了文字列「"」
エスケープ文字「\」
表示方法「文字列」
種類「複数行」
|
hilightファイルの例 |
/<HilightMulti>
/0003,00000002,00,00,00000002,"/*",00000002,"*/"
/0003,00000003,00,00,00000002,"//",00000003,"(?<!(\\?\\?/|\\\\))$"
/0014,00000002,00,00,00010003,"R\"(.*?)\\(",0001000B,"\\)\\1\""
/0014,00000004,00,00,00010003,"@\"(\"\")*\"(?!\")",00000002,""
/0014,00000002,00,00,00010003,"@\"",00010003,"(?<!\")(\"\")*\"(?!\")"
/0014,00000002,00,5C,00000002,"\"",00000002,"\""
|