@H_301_1@
我有一个由…组成的字符串
"some text \\computername.example.com\admin$".
我怎么做替换所以我的最终结果只是“computername”
我的问题似乎不知道如何逃避两个反斜杠.为了简单起见,我宁愿不使用正则表达式:)
编辑:实际上看起来像stackoverflow也有双反斜杠的问题,它应该是一个双反斜杠,而不是单一的反斜杠
解决方法
首先,提出的正则表达式方法绝对没有错.但是,如果你对它不感兴趣,请检查:
$test = "some text \\computername.example.com\admin$" $test.Split('\')[2].Split('.')[0]
非常简单的测试表明,我的机器上的分割速度略快于它的价值:
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