Board logo

标题: [问题求助] PowerShell格式化数字补0 [打印本页]

作者: 5i365    时间: 2022-9-30 08:21     标题: 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 08:27

本帖最后由 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. }
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2