regex - 如何从复杂字符串中提取字符串?

标签 regex powershell

我的起始字符串是:

$grp = DL-Test1-Test2-RW"

我的目标是
$grp = "Test1\Test2"

因此,我需要在第一个字符和最后一个“-”字符之间保持字符串。并替换为

更新
我尝试了这个:
$grp = "DL-test1-test2-RW"
$Descritpion = $grp.Split("-") #Split - to have an array
$Descritpion = $Descritpion.Split($Descritpion[0]) #Cut first element
$Descritpion = $Descritpion.Split($Descritpion[-1]) # Cut last element
#Here replace ?
Write-Host "Description:"$Descritpion

最佳答案

假设字符串始终具有这种形式,并且您对第二部分和第三部分感兴趣:

# $grp.Split("x") - split string on character x, creating an array
# $grp.Split("x")[n] - get the nth element of the array
# x,y -join "\" join the array elements x and y into a string, with "\" inbetween
($grp.Split("-")[1],$grp.Split("-")[2]) -join "\"

编辑-元素的通用数量
$($grp.Split("-") | Select-Object -SkipLast 1 | Select-Object -Last ($grp.Split("-").count - 2)) -join "\"

多行:
$Descritpion = $grp.Split("-")
$Descritpion = $Descritpion | Select-Object -SkipLast 1
$Descritpion = $Descritpion | Select-Object -Last ($grp.Split("-").count - 2) 
$Descritpion = $Descritpion-join "\"

关于regex - 如何从复杂字符串中提取字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44365889/

相关文章:

php - 检查有效主机 :port combination

java正则表达式从最后2个斜杠之间的url路径中提取密码

javascript - 快速正则表达式和JavaScript查询

java - 如何在后台使用 powershell 运行 java 类?

windows - 使用 PowerShell 的 IIS 输出缓存设置

powershell - Get-WmiObject : The RPC server is unavailable.(HRESULT 异常:0x800706BA)

powershell - 如何返回带有度量对象属性的全名

regex - 如何在两个明确定义的模式之间匹配最多 n 个自由字符的字符串?

powershell - 当命令行开关接受管道输入时,ByPropertyName 和 ByValue 之间有什么区别?

ruby - 替换括号中的文本 gsub