在Powershell中替换转义字符

fen*_*ter 4 regex powershell

我有一个由...组成的字符串

"some text \\computername.example.com\admin$".
Run Code Online (Sandbox Code Playgroud)

我怎么做替换所以我的最终结果只是"computername"

我的问题似乎不知道如何逃避两个反斜杠.为了简单起见,我宁愿不使用正则表达式:)

编辑:实际上看起来像stackoverflow也有双反斜杠的问题,它应该是一个双反斜杠,而不是单一的反斜杠

Ste*_*ski 5

在这种情况下,我认为你不会放弃正则表达式.

我会用这种模式:

'Some text \\computername\admin$' -replace '\\\\(\w+)\\(\w+)\$', '$1'
Run Code Online (Sandbox Code Playgroud)

给你的

PS C:\> 'Some text \\computername\admin$' -replace '\\\\(\w+)\\(\w+)\$', '$1'

Some text computername
Run Code Online (Sandbox Code Playgroud)

或者如果你只想要来自该行的计算机名:

'Some text \\computername\admin$' -replace '.*\\\\(\w+)\\(\w+)\$', '$1'
Run Code Online (Sandbox Code Playgroud)

返回

PS C:\> 'Some text \\computername\admin$' -replace '.*\\\\(\w+)\\(\w+)\$', '$1'

computername
Run Code Online (Sandbox Code Playgroud)