[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] PowerShell格式化数字补0

本帖最后由 5i365 于 2022-9-30 09:37 编辑

下面的代码, 我想让输出的结果中的数字问部分总是保留两位小数,即:不足两位的数字时前面加0,
期待输出后的效果:

01 A
02 b
09 e
10 f
16 g
  1. $dd = @"
  2. Chapter 1. A
  3. Chapter 2. b
  4. Chapter 9. e
  5. Chapter 10. f
  6. Chapter 16. g
  7. "@
  8. $dd -split '\n' |
  9. %{
  10.         if ($_ -match '.+\s+(\d{1,2})\.\s+(.+)')
  11.         {
  12.                 '{0} {1}' -f $matches[1], $matches[2]
  13.         }
  14. }
复制代码
本人所发所有贴子或代码, 诸大侠若认为有改进之处,请不吝赐教,感激不尽!

本帖最后由 5i365 于 2022-9-30 09:36 编辑

已经解决:
  1. $dd = @"
  2. Chapter 1. A
  3. Chapter 2. b
  4. Chapter 9. e
  5. Chapter 10. f
  6. Chapter 16. g
  7. "@
  8. $dd -split '\n' |
  9. %{
  10.         if ($_ -match '.+\s+(\d{1,2})\.\s+(.+)')
  11.         {
  12.                 $n = '{0:d2}' -f [int]$matches[1]
  13.                 '{0} {1}' -f $n, $matches[2]
  14.         }
  15. }
复制代码

或者:

  1. $dd = @"
  2. Chapter 1. A
  3. Chapter 2. b
  4. Chapter 9. e
  5. Chapter 10. f
  6. Chapter 16. g
  7. "@
  8. $dd -split '\n' |
  9. %{
  10. if ($_ -match '.+\s+(\d{1,2})\.\s+(.+)')
  11. {
  12. '{0} {1}' -f $matches[1].padleft(2, '0'), $matches[2]
  13. }
  14. }
复制代码
本人所发所有贴子或代码, 诸大侠若认为有改进之处,请不吝赐教,感激不尽!

TOP

返回列表