Powershell |数组获取最长的字符串

时间:2014-05-13 08:33:51

标签: arrays powershell

我想获取数组中最长的字符串,而不使用foreach循环遍历整个数组,或者执行...直到。

我试过了:

$Namelength = ($array | Measure-Object -Maximum).Maximum.ToString().Length

它似乎适用于数字。 但不是字符串(我的字符串包含&#34;,&#34;&#34;。&#34;&#34; - &#34;和&#34; _&#34;) < / p>

我在某种程度上只是得到一些长串,但不是最长的 - 它更像是一个平均值。

有什么想法解决这个问题吗?

提前问候和感谢!

2 个答案:

答案 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