Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 使用PowerShell选择字符串的第一个字符的最快、最简洁的方法是什么?_String_Powershell_Text Extraction - Fatal编程技术网

String 使用PowerShell选择字符串的第一个字符的最快、最简洁的方法是什么?

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]

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]
[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秒。哈哈,很棒的作品;你已经投了我的票,否则我会再投。