[玩转系统] PowerShell 加入数组 |了解 PowerShell 连接数组的示例
作者:精品下载站 日期:2024-12-14 20:32:52 浏览:15 分类:玩电脑
PowerShell 加入数组 |了解 PowerShell 连接数组的示例
PowerShell加入阵列简介。
PowerShell Join array 是使用该运算符并使用 String 类的方法来连接数组的运算符。由于数组(不是 ArrayList)的固定大小性质,连接两个数组会创建第三个数组。 Join数组的输出也是Object的集合。
语法
连接数组操作支持各种语法。
- “+”运算符用于连接两个字符串数组或不同数据类型的数组。
- Join(Char, Object[]):将字符连接到Object数组。
- Join(Char, String[]):将字符连接到字符串数组。
- Join(String, Object[]):将字符串连接到 Object 数组。
- Join(Char, String, Int32, Int32):将字符连接到字符串数组,从起始索引到字符串的计数。
示例
以下是下面提到的示例
示例 #1 - 使用“+”运算符连接两个数组。
假设我们有两个不同的数组,我们需要连接它们。
$array1 = "Cat","Dog","Cow"
$array2 = "Cars","Bikes","Trucks"
To join two arrays, we will use the ‘+’ operator here.
$array = $array1 + $array2
$array
输出:
示例 #2 - 连接两个具有不同数据类型的数组。
在第一个示例中,我们看到两个 PowerShell 数组存储的值是字符串的集合。但是,我们可以在字符串中存储不同的值并将它们连接起来。
例如,
$array1 = "Cat","Dog","Cow"
$array2 = 11,"TwoTwo",33,"FourFour"
如果我们检查 $Array1 和 $Array2 这两个变量的数据类型,它将是一个 Object[] 的集合,如下所示。
这意味着数组中的;您输入的不同类型的对象并不重要;最终,它成为对象的集合。因此我们可以使用‘+’运算符合并任意数量的数组。
在此示例中,合并两个数组,
$array = $array1 + $array2
$array
输出:
在前两个示例中,我们使用第三个数组来存储结果。让我们检查一下它的数据类型;它也应该是对象集合。
$array.GetType()
输出:
示例 #3 - 使用 ArrayList 连接两个数组
在下面的示例中,我们将使用 .Net 类 System.Collection.ArrayList 连接两个数组,并且要执行连接操作,我们需要使用 Add() 方法。如下所示,我们有两个数组,它们使用 Add() 方法连接起来。
$array1 = "Cat","Dog","Cow"
$array2 = 11,"TwoTwo",33,"FourFour"
foreach($value in $array1){$JoinArray.Add($value) | Out-Null}
foreach($value in $array2){$JoinArray.Add($value) | Out-Null}
$JoinArray
输出:
我们可以像 $JoinArray($Array1) 一样直接将数组添加到 Add 方法中,但问题是它将整个数组视为索引 0,而将下一个数组 $JoinArray($Array2) 视为索引 1。所以我们必须添加使用 foreach 循环的每个值。
示例 #4 - 字符串连接数组示例 - I
在字符串数组中,System.String .Net 类支持 Join 方法。有多种重载方法可以连接数组。有关字符串连接方法,请参阅下面的参考链接。
https://docs.microsoft.com/en-us/dotnet/api/system.string.join?view=net-5.0#System_String_Join_System_Char_System_Object
我们将使用上面的一些方法。
在上述所有Join方法中,第一个参数始终是Separator,第二个参数是执行Join操作的项。
我们将在这里使用的第一个字符串连接方法是 Join(Char, Object[])。这里的 Char 是分隔符,Object[] 是要处理的项目。它是一个Object[]的数组,所以我们可以在其中传递任何对象,因此它是一个字符串方法;它应该将该 Object[] 转换为 String 数组。例如,
$Services = Get-Service
[String]::Join('|',$Services)
输出:
正如您在上面的示例中看到的,我们通过分隔符“|”连接了每个服务对象[]。对于此示例,输出可能采用正确的格式,但在某些示例(例如 Get-Process)中,当您将整个 Object[] 作为字符串传递时。例如,
$procs = Get-Process
[String]::Join('|',$procs)
输出:
上面的输出不是我们想要的,但是我们可以使用它的属性用提供的分隔符来分隔对象。例如,
[String]::Join('|',$procs.name)
输出:
示例 #5 - 字符串连接数组示例 - II
我们可以使用 String .Net 类来连接数组的第二种方法是 Join(Char, String[])。它将字符串数组与第一个参数中提到的分隔符连接起来。例如,
$str = "This","is","PowerShell","String"
[String]::Join('^',$str)
输出:
与空间结合,
[String]::Join(' ',$str)
This is PowerShell String
示例 #6 - 字符串连接数组示例 - III
在上面的两个例子中,我们使用Character连接了一个字符串数组。现在我们还可以使用另一个字符串连接字符串,因为重载方法支持这一点。在第二个参数中,我们可以传递对象或字符串。
它支持两种方法将字符串连接到数组。
- Join(String, Object[]):将类似对象数组(Get-Service 或 Get-process)与每个对象输出之间的字符串分隔符连接起来。例如,
$ser = Get-Service
[String]::Join(' Hello ',$ser)
输出:
如上例所示,服务之间通过Hello关键字进行分隔和连接,其中包含空格。
- Join(String, String[]):使用每个元素之间的字符串分隔符连接字符串数组。
例如
$str = "This","is","PowerShell","String"
[String]::Join(' String ',$str)
输出:
示例 #7 - 字符串连接数组示例 - IV
在此方法中,我们使用字符或字符串作为要连接的对象数组[]或字符串数组[]的分隔符。为此,我们可以使用两种单独的方法。
- 加入(Char, String[], Int32, Int32)
参数说明如下。
- Char:给定输入的字符分隔符
- String[]:用于分隔和连接字符的字符串数组。
- Int32:串联的起始索引。
- Int32:从起始索引开始计数。
例如,
$str = "This","is","PowerShell","string","to","test","the","join","array"
[String]::Join('#',$str, 2,5)
输出:
在上面的示例中,我们使用分隔符“#”来连接从起始索引 2 到总计数 5 个单词的字符串。
- 连接(字符串,字符串[],Int32,Int32)
与上面的操作类似,我们可以使用 Join 方法将另一个字符串与起始索引和总计数连接起来。
例如,
$str = "This","is","PowerShell","string","to","test","the","join","array"
[String]::Join(" hello world ",$str, 1,3)
输出:
结论 - PowerShell 加入阵列
PowerShell 连接数组对于脚本来说是一个非常有用且强大的操作。它服务于许多基本目的,例如连接路径、在字符串数组之间添加值等。还有其他命令也服务于连接基础知识,例如 Join-Path 和 Join-ADlStoreItem,它们间接服务于相同的数组操作,但它们是高级命令。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag