PowerShell查找数组内容、搜索数组、查询数组的方法

PowerShell中有-contain、-like、-in等操作符,使用这些操作符,可以很方便的在数组中查找元素内容。其中in操作符貌似要在PowerShell 3.0中才有。

先看一个例子,将Windows目录的所有文件的文件名放入到数组$name中,然后在数组$name中查找exploer.exe元素。且看-contains的魅力!

代码如下:

PS> $names = Get-ChildItem -Path $env:windir | Select-Object -ExpandProperty Name
PS> $names -contains 'explorer.exe'
True

-contains操作符确实很强大,但是很遗憾,它不能在指定字符串中包含通配符。如果想使用通配符进行查找数组元素,则可以使用-like操作符。

代码如下:

PS> $names -contains 'explorer*'
False

上面的例子说明了-contains不能使用通配符,下面我们来使用-like看看。

代码如下:

PS> $names -like 'explorer*'
explorer.exe

文章一开头小编还说了,可以使用-in操作符来来作类似的处理,而且in操作符还可以将数组和要匹配的字符串反过来。什么意思呢?且看下面几个例子。

代码如下:

PS> 'Peter', 'Mary', 'Martin' -contains 'Mary'
True
PS> 'Peter', 'Mary', 'Martin' -contains 'Ma*'
False
PS> 'Mary' -in 'Peter', 'Mary', 'Martin'
True
PS> 'Peter', 'Mary', 'Martin' -like 'Ma*'
Mary
Martin
PS> @('Peter', 'Mary', 'Martin' -like 'Ma*').Count -gt 0

以上几个例子的含义,大家自行理解。关于使用PowerShell在数组中查找元素,小编就介绍这么多,希望对大家有所帮助。

(0)

相关推荐

  • PowerShell数组操作简明教程

    对于编写程序来讲,离不开数组,PowerShell也不例外.在PowerShell中创建和使用数组是一件前所未有的愉悦的事情,实在是简单.易用得太过分了!呵呵! 1.定义数组 在PowerShell中,所有的变量都无须定义,数组亦如此,所以此步省略. 2.初始化数组 复制代码 代码如下: $arr=1,2,3,'a','b','xx'; 在上面的例子中,洪哥对变量名为$arr的数组进行了初始化.在PowerShell中初始化一个数组就是把所有的数组元素--不管什么类型的,通通赋给它.每个数组元素

  • Powershell创建数组正确、更快的方法

    通常当新的对象添加到一个数组中,根据经验你最担心其性能问题.下面第一个例子将告诉你一个错误的操作方法: 复制代码 代码如下: Measure-Command {   $ar = @()     for ($x=0; $x -lt 10000; $x++)   {     $ar += $x   } } 在这个循环中,这个数组通过符号"+="增加了许多新的对象.这样做会需要很长时间,因为在你改变其大小时Powershell每次需要去创造一个新的数组. 下面将有一个非常快的办法-Array

  • Windows Powershell 创建数组

    在Powershell中创建数组可以使用逗号. PS C:Powershell> $nums=2,0,1,2 PS C:Powershell> $nums 2 0 1 2 对于连续的数字数组可以使用一个更快捷的方法 PS C:Powershell> $nums=1..5 PS C:Powershell> $nums 1 2 3 4 5 数组的多态 象变量一样如果数组中元素的类型为弱类型,默认可以存储不同类型的值. PS C:Powershell> $array=1,"

  • PowerShell数组结合switch语句产生的奇特效果介绍

    PowerShell数组与switch语句,PowerShell中数组可以与switch语句结合,产生意想不到的效果. PowerShell中数组可以与switch语句结合,产生意想不到的效果. 先看看例子: 复制代码 代码如下: $myArray = 1,5,4,2,3,5,2,5 Switch ( $myArray ) {  1 { 'one' }  2 { 'two' }  3 { 'three' }  4 { 'four' }  5 { 'five' } } 数组中的所有元素都是在1,2

  • 探索PowerShell (八) 数组、哈希表(附:复制粘贴技巧)

    我们经常在程序设计中用到的数组,同样在脚本中很常用.本节就详细介绍一下数组,以及哈希表在PowerShell中的使用. 数组 在PowerShell中,声明一个变量为数组时,需要使用符号"@",例如: $strUsers=@(""user1","user2","user3) <enter> 这样,我们就声明了一个具有3个成员的数组.查看它的值,使用: $strUsers <enter> 还有一些其他的操

  • Windows Powershell 命令返回数组

    当我们把一个命令的执行结果保存到一个变量中,可能会认为变量存放的是纯文本. 但是,事实上Powershell会把文本按每一行作为元素存为数组.如果一个命令的返回值不止一个结果时,Powershell也会自动把结果存储为数组. PS C:Powershell> $IPcfg=ipconfig PS C:Powershell> $IPcfg Windows IP Configuration Ethernet adapter Local Area Connection: Connection-spe

  • PowerShell中的强类型数组介绍

    在PowerShell中,当我们将一串强类型的值赋给一个变量时,这个变量就成了强类型数组.如果在一个强类型的数组中增加一个非强类型的数组元素(使用"+="操作符),这时该数组将又变回普通数组. 看看这个例子: 复制代码 代码如下: PS> $array = [Int[]](1,2,3,4,5) PS> $array.GetType().FullName System.Int32[] PS> $array += "foo" PS> $array

  • PowerShell数组的一些操作技巧

    PowerShell数组的使用例子,PowerShell中使用逗号给数组赋值,数组中可以存放各种不同类型的数据值. PowerShell中使用逗号给数组赋值,数组中可以存放各种不同类型的数据值. 数组的赋值 先看下面一个简单的例子: 复制代码 代码如下: $myArray = 'Hello', 12, (Get-Date), $null, $true $myArray.Count 这个数组中有五个元素,有字符串.数字.日期.空值.布尔值等不同的数据类型. 索引数组的数据(正序与逆序) 使用中括号

  • Python打开文件,将list、numpy数组内容写入txt文件中的方法

    python保存numpy数据: numpy.savetxt("result.txt", numpy_data); 保存list数据: file=open('data.txt','w') file.write(str(list_data)); file.close() 以上这篇Python打开文件,将list.numpy数组内容写入txt文件中的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Java生成10个1000以内的随机数并用消息框显示数组内容然后求和输出

    本文最终结果大概是这样的,使用java技术随机生成10个数,然后填充一个数组并在消息框中显示数组内容,接着对数组求和输出,将结果显示在消息框中. 设计思路:可以先用Math.Random()*1000生成1000以内随机数,然后依次存入数组中,然后读取数组,输出随机数,同时进行加法计算,最后将所有结果以消息框形式输出. 程序流程图: 源代码: package 随机数求和; import javax.swing.*; public class Sum { public static void ma

  • PowerShell查找数组内容、搜索数组、查询数组的方法

    PowerShell中有-contain.-like.-in等操作符,使用这些操作符,可以很方便的在数组中查找元素内容.其中in操作符貌似要在PowerShell 3.0中才有. 先看一个例子,将Windows目录的所有文件的文件名放入到数组$name中,然后在数组$name中查找exploer.exe元素.且看-contains的魅力! 复制代码 代码如下: PS> $names = Get-ChildItem -Path $env:windir | Select-Object -Expand

  • PHP 在数组中搜索给定的简单实例 array_search 函数

    array_search() PHP array_search() 函数用于在数组中搜索给定的值,如果成功则返回相应的键名,否则返回 FALSE . 语法: mixed array_search( mixed needle, array array [, bool strict] )参数说明: 参数 说明 needle 需要在数组中搜索的值,如果是字符串,则区分大小写 array 需要检索的数组 strict 可选,如果设置为 TRUE ,则还会对 needle 与 array 中的值类型进行检

  • C++实现LeetCode(33.在旋转有序数组中搜索)

    [LeetCode] 33. Search in Rotated Sorted Array 在旋转有序数组中搜索 Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e., [0,1,2,4,5,6,7] might become [4,5,6,7,0,1,2]). You are given a target value to search. If f

  • C++实现LeetCode(81.在旋转有序数组中搜索之二)

    [LeetCode] 81. Search in Rotated Sorted Array II 在旋转有序数组中搜索之二 Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e., [0,0,1,2,2,5,6] might become [2,5,6,0,0,1,2]). You are given a target value to search.

  • php中怎么搜索相关联数组键值及获取之

    1.搜索关联数组键如果在一个数组中找到一个指定的键,函数array_key_exists()返回TRUE,否则返回FALSE.其 形式如下:boolean array_key_exists(mixed key, array array) 下面的例子将在数组键中搜索Ohio,如果找到,将输出这个州加入美国联邦政府的育关信息:$state["Delaware"]="December 7,1787";$state["Pennsylvania"]=&qu

  • C#使用linq语句查询数组中以特定字符开头元素的方法

    本文实例讲述了C#使用linq语句查询数组中以特定字符开头元素的方法.分享给大家供大家参考.具体如下: 下面的代码查询数组中以字母k开头的元素 using System; using System.Collections.Generic; using System.Linq; using System.Text; static void Main(string[] args) { string[] names = {"kaka","kunka","kuma

  • java~springboot~ibatis数组in查询的实现方法

    在ibatis的xml文件里,我们去写sql语句,对应mapper类的方法,这些sql语句与控制台上没什么两样,但在有些功能上需要注意,如where in这种从数组里查询符合条件的集合里,需要在xml里进行特别的处理. <update id="batchUpdate" parameterType="map"> update customer_info set status=#{status},appoint_time=#{appointTime} whe

  • jQuery 同时获取多个标签的指定内容并储存为数组

    在网页开发中经常会碰到获取同种类型的 标签 的值得问题,比如下面的两种情况. 当需要批量获取同种标签的指定值时,新人就会碰上一点小麻烦. 比如 id=problem1的demo var list1=$("#problem1").children();//获取到problem1指定的对象数组 console.log(list1);//打印到控制台 控制台中输出的跟我们想象中的是一样的.那么接下来看下一段代码 var list1=$("#problem1").child

随机推荐