String 使用PowerShell选择字符串的第一个字符的最快、最简洁的方法是什么?
Aim:要从字符串中提取第一个字符,即应从String 使用PowerShell选择字符串的第一个字符的最快、最简洁的方法是什么?,string,powershell,text-extraction,String,Powershell,Text Extraction,Aim:要从字符串中提取第一个字符,即应从8.0.26中提取8 尝试:“8.0.26”。子字符串(0,1)返回8 问题:这是使用PowerShell从字符串中选择第一个字符的最快、最简洁的方法吗?我的意思是,我想这取决于您所说的最快。最出色的?打字最快?您希望是作为[char]还是作为[string] "8.0.26"[0] [string]"8.0.26"[0] 我的意思是,我想这取决于你所说的最快。最出色的?打字最快?您希望是作为[char]还是作为[string] "8.0.26"[0]
8.0.26
中提取8
尝试:“8.0.26”。子字符串(0,1)
返回8
问题:这是使用PowerShell从字符串中选择第一个字符的最快、最简洁的方法吗?我的意思是,我想这取决于您所说的最快。最出色的?打字最快?您希望是作为
[char]
还是作为[string]
"8.0.26"[0]
[string]"8.0.26"[0]
我的意思是,我想这取决于你所说的最快。最出色的?打字最快?您希望是作为
[char]
还是作为[string]
"8.0.26"[0]
[string]"8.0.26"[0]
我没有任何证据,但这段代码似乎证明了索引(如briantist的回答)更快
"starting"
$foo = "hello"
for ($i = 0; $i -lt 1000000; $i++) {
$bar = $foo[0]
#$bar = $foo.substring(0,1)
}
"stopping"
你自己试试看
更新:运行Measure命令并确认在我的计算机上,索引到字符串的速度比子字符串快。您的里程数可能会有所不同。我没有任何证据,但这段代码似乎证明了索引(如briantist的回答)更快
"starting"
$foo = "hello"
for ($i = 0; $i -lt 1000000; $i++) {
$bar = $foo[0]
#$bar = $foo.substring(0,1)
}
"stopping"
你自己试试看
更新:运行Measure命令并确认在我的计算机上,索引到字符串的速度比子字符串快。您的里程数可能会有所不同。如果您真的想检查它,您可以将其包装在
测量命令中(请记住,索引返回一个[char]
,如果需要一个[string]
(不清楚),则应使用石膏测量。@briantist这两个都很好。在[string]的作用下,它会变慢一些,但仍然比substring快。我将把测量命令作为练习留给提问者:)@briantist我在跟谁开玩笑?我的好奇心征服了我。使用索引(带强制转换)比使用子字符串更快(大约需要3秒,而不是4秒)。如果没有演员阵容,时间接近2秒。哈哈,很棒的作品;你已经有了我的投票权,否则我会再次投票。如果你真的想检查一下,你可以用Measure命令:)把它包装起来。还要记住,索引返回一个[char]
,如果需要一个[string]
(不清楚),那么它应该用cast来衡量。@briantist两者都很好。在[string]的作用下,它会变慢一些,但仍然比substring快。我将把测量命令作为练习留给提问者:)@briantist我在跟谁开玩笑?我的好奇心征服了我。使用索引(带强制转换)比使用子字符串更快(大约需要3秒,而不是4秒)。如果没有演员阵容,时间接近2秒。哈哈,很棒的作品;你已经投了我的票,否则我会再投。