首先,提出的正则表达式方法绝对没有错.但是,如果你对它不感兴趣,请检查:
$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