Convertfrom-string 删除前导零 [英] Convertfrom-string removes leading zeros
问题描述
我在使用 Convertfrom-String cmdlet 时遇到问题
Im having a problem with the Convertfrom-String cmdlet
$value = 'something:009'
$value | ConvertFrom-String -Delimiter ':'
输出:
P1 P2
-- --
something 9
我想要的输出是
P1 P2
-- --
something 009
有人有什么想法吗?
提前致谢.
推荐答案
我建议避免使用 ConvertFrom-String
- 它执行您在使用 -Delimiter时无法控制的类型转换code>,正如您所经历的,它的示例驱动的基于模板的解析很笨拙.
I suggest avoiding ConvertFrom-String
altogether - it performs type conversions that you cannot control when you use -Delimiter
, as you've experienced, and its example-driven template-based parsing is awkward.
附带说明:ConvertFrom-String
在跨平台中不可用 PowerShell Core 版.
On a side note: ConvertFrom-String
is not available in the cross-platform PowerShell Core edition.
在您的简单情况下,请改用 ConvertFrom-Csv
:
In your simple case, use ConvertFrom-Csv
instead:
$value = 'something:009'
$value | ConvertFrom-Csv -Delimiter ':' -Header P1, P2
ConvertFrom-Csv
将所有值按原样读取为字符串(使用字符串输入;删除字段值周围的双引号).
ConvertFrom-Csv
reads all values as strings, as-is (with string input; enclosing double quotes around field values are removed).
这篇关于Convertfrom-string 删除前导零的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!