首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换Powershell中的转义字符

问替换Powershell中的转义字符
EN

Stack Overflow用户
提问于 2009-02-13 23:15:33
回答 2查看 13.2K关注 0票数 4

我有一个字符串,它包含

代码语言:javascript
复制
"some text \\computername.example.com\admin$".

我如何做一个替换,这样我的最终结果将只是"computername“

我的问题似乎不知道如何转义两个反斜杠。为了简单起见,我不喜欢使用regexp :)

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-02-17 15:17:57

首先,这里给出的正则表达式方法绝对没有错。但是,如果你反对它,请检查以下内容:

代码语言:javascript
复制
$test = "some text \\computername.example.com\admin$"
$test.Split('\')[2].Split('.')[0]

非常简单的测试表明,在我的机器上拆分的速度略快于它的价值:

代码语言:javascript
复制
12:35:24 |(19)|C:\ PS>Measure-Command {1..10000 | %{'some text \\computername.example.com\admin$'.Split('\')[2].Split('.')[0]}}


Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 1
Milliseconds      : 215
Ticks             : 12159984
TotalDays         : 1.40740555555556E-05
TotalHours        : 0.000337777333333333
TotalMinutes      : 0.02026664
TotalSeconds      : 1.2159984
TotalMilliseconds : 1215.9984



12:35:34 |(20)|C:\ PS>Measure-Command {1..10000 | %{'Some text \\computername\admin$' -replace '\\\\(\w+)\\(\w+)\$', '$1'}}


Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 2
Milliseconds      : 335
Ticks             : 23351277
TotalDays         : 2.70269409722222E-05
TotalHours        : 0.000648646583333333
TotalMinutes      : 0.038918795
TotalSeconds      : 2.3351277
TotalMilliseconds : 2335.1277
票数 4
EN

Stack Overflow用户

发布于 2009-02-14 00:38:08

在这种情况下,我认为您无法摆脱正则表达式。

我会使用这个模式:

代码语言:javascript
复制
'Some text \\computername\admin$' -replace '\\\\(\w+)\\(\w+)\$', '$1'

这给了你

代码语言:javascript
复制
PS C:\> 'Some text \\computername\admin$' -replace '\\\\(\w+)\\(\w+)\$', '$1'

Some text computername

或者,如果您只想要行中的计算机名:

代码语言:javascript
复制
'Some text \\computername\admin$' -replace '.*\\\\(\w+)\\(\w+)\$', '$1'

它会返回

代码语言:javascript
复制
PS C:\> 'Some text \\computername\admin$' -replace '.*\\\\(\w+)\\(\w+)\$', '$1'

computername
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/548060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档