PowerShellの英字の大文字と小文字を変換するサンプルです。
目次
サンプル | 英字の大文字を小文字にする(ToLower) |
英字の小文字を大文字にする(ToUpper) | |
先頭の文字のみ大文字にする | |
最初の文字を大文字にして他の文字を小文字にする | |
大文字を小文字にし、小文字を大文字にする |
英字の大文字を小文字にする(ToLower)
文字列.ToLower() |
- ToLowerメソッドは、英字の大文字を小文字にします。
- 英字の全角の大文字も全角の小文字に変換されます。
$str1 = "ABC"
Write-Host ($str1.ToLower()) # abc
$str2 = "Abc"
Write-Host ($str2.ToLower()) # abc
$str3 = "ABC"
Write-Host ($str3.ToLower()) # abc
$str4 = "あいう"
Write-Host ($str4.ToLower()) # あいう
全角の英字の大文字は、全角の英字の小文字に変換します。
英字の小文字を大文字にする(ToUpper)
文字列.ToUpper() |
- ToUpperメソッドは、英字の小文字を大文字にします。
- 英字の全角の小文字も全角の大文字に変換されます。
$str1 = "abc"
Write-Host ($str1.ToUpper()) # ABC
$str2 = "Abc"
Write-Host ($str2.ToUpper()) # ABC
$str3 = "abc"
Write-Host ($str3.ToUpper()) # ABC
$str4 = "あいう"
Write-Host ($str4.ToUpper()) # あいう
全角の英字の小文字は、全角の英字の大文字に変換します。
先頭の文字のみ大文字にする
$str1 = "abcde"
Write-Host ($str1.Substring(0, 1).ToUpper() + $str1.Substring(1)) # Abcde
$str2 = "AbcDE"
Write-Host ($str2.Substring(0, 1).ToUpper() + $str2.Substring(1)) # AbcDE
Substringの引数が2つの場合は、1つめの引数は開始位置で2つめの引数は長さです。
Substringの引数が1つの場合は、指定した位置の文字から最後の文字まで取得します。
5行目は、後ろ2つの文字は大文字のままです。
最初の文字を大文字にして他の文字を小文字にする
$str1 = "abcde"
Write-Host ($str1.Substring(0, 1).ToUpper() + $str1.Substring(1).ToLower()) # Abcde
$str2 = "AbcDE"
Write-Host ($str2.Substring(0, 1).ToUpper() + $str2.Substring(1).ToLower()) # Abcde
Substringの引数が2つの場合は、1つめの引数は開始位置で2つめの引数は長さです。
Substringの引数が1つの場合は、指定した位置の文字から最後の文字まで取得します。
5行目は、後ろ2つの文字も小文字になっています。
大文字を小文字にし、小文字を大文字にする
$str1 = "AbCdEfg"
$str2 = ""
for ($i = 0; $i -lt $str1.Length; $i++) {
If ($str1.Substring($i, 1) -ceq $str1.Substring($i, 1).ToLower()){
$str2 = $str2 + $str1.Substring($i, 1).ToUpper()
}Else{
$str2 = $str2 + $str1.Substring($i, 1).ToLower()
}
}
Write-Host ($str2) # aBcDeFG
for文のループで文字列を1文字ずつみていきます。
if文で小文字か判定しtrueであれば大文字に、そうでなければ小文字に変換します。
関連の記事