PowerShellでの文字列の表記方法

こんにちは。
けいぞうです。

今回は「PowerShellでの文字列の表記方法」についての記事です。

[目次]

PowerShellでの文字列の表記方法

PowerShellでは主に以下の4つの方法で文字列を表記が可能です。

  • 「”」(シングルクォート)で囲む
  • 「””」(ダブルクォート)で囲む
  • シングルクォートで囲ったヒア文字列
  • ダブルクォートで囲ったヒア文字列

以下に例を示します。

$str1 = 'シングルクォートで囲った文字列'

$str2 = "ダブルクォートで囲った文字列"

$str3 = @'
シングルクォートで囲ったヒア文字列
改行できます
'@

$str4 = @"
ダブルクォートで囲ったヒア文字列
改行できます
"@

単純にシングルクォートまたはダブルクォートで囲った場合は、一行しか記述できませんが、

改行を含んだ文字列を記載したい場合は3,4番目の例の「ヒア文字列」で記述します。

シングルクォートとダブルクォートの違い

シングルクォートとダブルクォートの主な使い方は以下です。

  • シングルクォート内のダブルクォートはエスケープ無しで記述できる
  • ダブルクォート内のシングルクォートはエスケープ無しで記述できる
  • シングルクォート内のシングルクォートは「’ ‘」と連続で記述する
  • ダブルクォート内のダブルクォートは「””」と連続で記述する
  • シングルクォートで囲った文字列内の変数は文字列として表示される
  • ダブルクォートで囲んだ文字列内の変数は展開されて表示される

文字列内で変数を展開したい場合は、ダブルクォートで囲った中で使用すればOKです。

ダブルクォートで囲った中でも、変数を展開したくない場合は「`(バッククォート)」を前置することで、文字列として表示することができます。

> $a = 100
> $str = @"
>> `$aの中身は$a
>> "@

> $str
$aの中身は100

エスケープシーケンスについて

ダブルクォートで囲った文字列の中であればエスケープシーケンスの利用ができます。

PowerShellで利用できるエスケープシーケンスは以下です。

エスケープシーケンス説明
`bバックスペース
`n改行
`tタブ
`’シングルクォート
`” ダブルクォート
バッククォート

PowerShellのエスケープシーケンスは全て「`」バッククォートを前置することで記述します。

部分演算子について

ダブルクォートで囲んだ文字列の中で、式を展開して表示したい場合は「$()」を使います。

これを部分式演算子と呼びます。

>$a = 100
>$str = @"
>>`$aに10を足すと$($a + 10)になります
>>"@

>$str
$aに10を足すと110になります