You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell如何给字符串按每两位分组并添加连字符?

PowerShell字符串按两位分组并添加连字符的简便方法

给你两种简单直接的实现方式,适合PowerShell新手快速上手:

方法一:正则替换(最简便)

利用PowerShell的-replace操作符结合正则表达式,一步完成分组和添加连字符,最后清理末尾多余的符号:

$inputStr = "00255D413701"
$result = $inputStr -replace '(.{2})', '$1-' | TrimEnd '-'
# 输出结果:00-25-5D-41-37-01
$result

原理:(.{2})会逐个捕获字符串里的每两个字符,$1代表捕获到的内容,替换成$1-就给每组加了连字符;最后用TrimEnd '-'去掉字符串末尾多余的那个连字符。

你也可以用正则直接去掉末尾的连字符,写法更紧凑:

$inputStr = "00255D413701"
$result = $inputStr -replace '(..)', '$1-' -replace '-$', ''
$result

这里-$匹配字符串末尾的连字符,替换为空即可。

方法二:结合正则匹配与字符串拼接

先通过正则匹配提取所有两位的子串,再用连字符把它们拼接起来:

$inputStr = "00255D413701"
$parts = [regex]::Matches($inputStr, '.{2}').Value
$result = [string]::Join('-', $parts)
$result

原理:[regex]::Matches会找出所有符合.{2}(任意两个字符)的子串,把这些子串存到数组$parts里,再用[string]::Join把数组元素用连字符连接成最终字符串。

这两种方法都不需要复杂的循环,适合新手快速实现需求,而且对长度为偶数的字符串都能完美处理。

内容的提问来源于stack exchange,提问作者nissedanielsen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 02:01:17