Manipulating Strings in PowerShell
PowerShellは、文字列を操作するための多くのメソッドと演算子を提供しています。このチュートリアルでは、PowerShellで文字列を操作する様々な方法について学習します。
文字列操作メソッド
PowerShellは、以下のBuilt-inメソッドを提供して文字列を操作します:
Trim()
Trim()メソッドは、文字列の前後の空白文字を削除します。
$string = " Hello World! "
echo $string.Trim()
# 出力:"Hello World!"
ToLower(), ToUpper()
これらのメソッドは、文字列全体を小文字や大文字に変換します。
$string = "HELLO WORLD"
echo $string.ToLower()
# 出力:「hello world」
echo $string.ToUpper()
# 出力:「HELLO WORLD」
Replace()
Replace()メソッドは、指定されたサブストリングを置き換えます。
$string = "Hello World, PowerShell is fun!"
echo $string.Replace("World", "Universe")
# 出力:「Hello Universe, PowerShell is fun!」
SubString()
SubString()メソッドは、元の文字列の一部を抽出します。
$string = "Hello World, PowerShell is fun!"
echo $string.Substring(6, 10)
# 出力:「World, Power」
演算子
PowerShellには、文字列操作に使用する様々な演算子が存在します:
+ (連結)
+演算子は、2つの文字列以上を連結します。
$string1 = "Hello "
$string2 = "World!"
echo $string1 + $string2
# 出力:「Hello World!」
-eq, -ne, -like, -notlike
これらの演算子は、文字列の比較やマッチング操作を行います:
-eq(等しい): 等しい文字列を返します。$string1 = "Hello" $string2 = "Hello" if ($string1 -eq $string2) { echo "Strings are equal" } # 出力:「Strings are equal」-ne(等しくない): 等しくない文字列を返します。powershell $string1 = "Hello" $string2 = "Goodbye" if ($string1 -ne $string2) { echo "Strings are not equal" } # 出力:「Strings are not equal」
-like: ワイルドカード (*と?) を使用したパターンマッチングを行います。$string = "Hello World" if ($string -like "*World*") { echo "Pattern matched" } # 出力:「Pattern matched」-notlike:-like演算子の結果を反転します。powershell $string = "Hello Goodbye" if (!$string -like "*Goodbye*") { echo "Pattern not matched" } # 出力:「Pattern not matched」
正規表現
PowerShellは、.NET Framework を使用して正規表現 (regex) をサポートしています。これらのパターンを使用して文字列を操作することができます:
Regex.Replace()
Regex.Replace() メソッドは、指定されたパターンを置き換えます。
$string = "Hello World, PowerShell is fun!"
$pattern = "[^a-zA-Z]" # 非アルファベットの文字をマッチング
echo ([regex]::Replace($string, $pattern, ""))
# 出力:「Hello World PowerShell is fun」
Tips and Tricks
以下は、PowerShellで文字列を操作するための追加の Tips & Tricks です:
-join演算子を使用して文字列配列を単一の文字列に連結します。$array = @("Hello", "World", "PowerShell") echo ($array -join " ") # 出力:「Hello World PowerShell」Format-Stringcmdlet を使用して、プレースホルダー値を含む文字列をフォーマットします。$string = "{0} {1}" -f "Hello", "World" echo $string # 出力:「Hello World」
まとめ
このチュートリアルでは、PowerShellで文字列を操作する様々な方法について学習しました。 Built-in メソッドと演算子、および正規表現を使用して、効率的に文字列を操作することができます。
追加のリソース