我有以下字符串,并且布局是固定的,所以我使用以下方法来检索信息
$A = "00035king"
$Regex = '(.{5})(.{4})'
$Replace = '$2,$1'
$A = $A -replace $Regex, $Replace
结果是king,00035
。但是,我想删除第二部分的前导零,将其从00035
更改为35
。无论如何我能做到或有什么建议吗?谢谢。
你可以在字符串的开头匹配0到4个零,然后是1到5个字符,然后检查从字符串开始消耗的字符是否有5个字符。
使用
'^0{0,4}(.{1,5})(?<=^.{5})(.{4})$'
细节
^
- 字符串的开头0{0,4}
- 0到4个零(.{1,5})
- 第1组:1到5个字符(?<=^.{5})
- 一个积极的lookbehind要求在从字符串开始的当前位置之前必须有5个字符(.{4})
- 第2组:任何四个字符$
- 字符串的结尾(或\z
将匹配字符串的结尾)。