PowerShell String Padding (Zfill)

2021-12-28

如何使用 PowerShell 達到字串填補的效果,相似於 Python Zfill 的替代方式。

logo

說明

在 Python 有便利的 Built-In function zfill 可以使用,方便填充字串:

'123'.zfill(6)
# 000123

但在 PowerShell 可以藉由 .NET String 的 Method PadLeft 得到相同的結果:

Get-Content .\temp.txt | % {$_.ToString().PadLeft(6, "0")} | clip

如果要把文字雙側包裝則可以有這樣的方式:

$s = "123"
$s.PadLeft(9 - $s.Length, "0").PadRight(9, "0")
# 000123000

如果要做逆操作的話,可以透過 Trim 來達成,預算上 Trim 是移除空白,但可以給予參數指定要移除的字元:

$s = "000123000"
$s.trim('0')
# 123