我想获取数组中最长的字符串,而不使用foreach循环遍历整个数组,或者执行...直到。
我试过了:
$Namelength = ($array | Measure-Object -Maximum).Maximum.ToString().Length
它似乎适用于数字。 但不是字符串(我的字符串包含&#34;,&#34;&#34;。&#34;&#34; - &#34;和&#34; _&#34;) < / p>
我在某种程度上只是得到一些长串,但不是最长的 - 它更像是一个平均值。
有什么想法解决这个问题吗?
提前问候和感谢!
答案 0 :(得分:12)
@ Kayasax的答案将为您提供最长字符串的字符串(值)。您的代码无法工作的原因是您测量了数组中的项目,而不是长度。为此,您需要在-Property Length
中指定Measure-Object
参数,如下所示:
PS> ("lalala","hehe","hi" | Measure-Object -Maximum -Property Length).Maximum
6
答案 1 :(得分:2)
$array1=@("test";"coucou","helloword")
$array1 | sort length -desc | select -first 1