(1) Powershellで文字列のダブルクォーテーションを削除する方法
(1-1) 方法1:.NETのString.Formatメソッドを使う方法
(1-2) 方法2:Powershellのフォーマットオペレーターを使う方法
(1-3) 補足:「[string]::」とは?
(1) Powershellで文字列のダブルクォーテーションを削除する方法
(1-1) 方法1:.NETのString.Formatメソッドを使う方法
1つ目の方法は「.NETのString.Formatメソッド」を使う方法です。
■構文①
[string]::Format([フォーマット後文字列],[フォーマット前文字列])
■使用例
「”Test of Formatting”」という文字列に対してフォーマット処理を施すと「Test of Formatting」になります。
(例1)
[string]::Format($test1_f,"Test of Formatting")
[フォーマット前文字列]は変数で与える事もできます。
(例2)
[string]$test2 = 'Test of Formatting' [string]::Format($test2_f,$test2)
(例3)
[string]$test3 = 'Test of Formatting' [string]::Format("This is {0}",$test3)
(図111)
(1-2) 方法2:Powershellのフォーマットオペレーターを使う方法
2つ目の方法はPowershellのフォーマットオペレーターを使う方法です。
■構文②
[string][フォーマット前文字列変数] = [何かの文字列] "{0}" -f [フォーマット前文字列変数]
まずはフォーマット処理したい「[何かの文字列]」を変数に代入して、それを2行目の「-f」でフォーマット処理しています。そしてプレースホルダー(”{0}”)を用いて文字列を表示しています。
■使用例
(例1)
[string]$test2 = 'Test of Formatting' "{0}" -f $test2
(例2)「-f」の後ろはカンマ区切りで複数の文字列を繋げて記述できます。
[string]$test3 = "This is" [string]$test4 = 'Test of Formatting' "{0} {1}" -f $test3,$test4
(図121)
(1-3) 補足:「[string]::」とは?
「.NET」のString.Formatメソッドを表しており、Powershellのフォーマットオペレーターの「.NET」版のような位置づけです(効果としてはフォーマットオペレーターと同等の事ができる)。
参考までに、C#で.NETのString.Formatメソッドは次のように記述されます。
Decimal int_rate = 11.56m; String s = String.Format("The interest rate is {0}.", int_rate); //(Result) // The interest rate is 11.56