当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell 数组到字符串 [6 种方法]

作者:精品下载站 日期:2024-12-14 05:27:33 浏览:14 分类:玩电脑

PowerShell 数组到字符串 [6 种方法]


[玩转系统] PowerShell 数组到字符串 [6 种方法]

使用双引号

在 PowerShell 中使用双引号将数组对象转换为字符串。

使用双引号:

$arrayObject = "How", "are", "you?"
$arrayString = "$arrayObject"
$arrayObject.GetType()
$arrayString.GetType()

输出 :

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                                 --------
True     True     Object[]                                 System.Array
True     True     String                                   System.Object

首先,我们创建了一个数组对象并将其保存在$arrayObject变量中;我们还可以使用数组运算符 (@()) 创建数组对象,例如 $arrayObject=@("How", "are", "you?").接下来,我们将 $arrayObject 变量括在双引号内,并将更新后的值保存在 $arrayString 变量中。

然后,我们将 GetType() 方法与 $arrayObject$arrayString 链接起来以了解它们的数据类型。例如,请参阅上面输出中的 Name 列;我们已经成功地将数组对象转换为字符串。现在,我们可以打印 $arrayString 的值来查看转换后的字符串是什么样的;请参见以下示例。

打印$arrayString:

$arrayString

输出 :

How are you?

从现在开始,我们将只讨论用于将数组对象转换为字符串的函数、变量、cmdlet 和运算符;我们不会解释数组创建和 GetType() 方法,因为我们已经在本节中介绍了它们。那么,让我们继续剩下的部分。

使用类型转换/显式转换

使用类型转换(显式转换)将数组对象转换为字符串。

使用类型转换:

$arrayObject = "How", "are", "you?"
$arrayString = [string]$arrayObject
$arrayObject.GetType()
$arrayString.GetType()

输出 :

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                                  --------
True     True     Object[]                                 System.Array
True     True     String                                   System.Object

在这里,我们使用了数组对象到字符串的显式转换。我们也可以将其称为类型转换,因为我们正在将数据类型从一种类型转换(更改)为另一种类型。

我们指定了 [string] 后紧跟 $arrayObject 将数据类型从数组对象转换为字符串并将其保存为 $arrayString 变量。现在,$arrayString 具有以下字符串。

打印$arrayString:

$arrayString

输出 :

How are you?

使用 -join 运算符

使用-join运算符将数组对象转换为字符串。

使用 -join 运算符:

$arrayObject = "How", "are", "you?"
$arrayString = $arrayObject -join " "
$arrayObject.GetType()
$arrayString.GetType()

输出 :

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                                 --------
True     True     Object[]                                 System.Array
True     True     String                                   System.Object

在本节中,我们使用了 -join 运算符,它使用指定的分隔符连接数组元素。分隔符可以是字母、数字或特定字符;但是,我们使用单个空格来连接/连接数组元素。现在,$arrayString 的值如下所示。

打印$arrayString:

$arrayString

输出 :

How are you?

使用Join()函数

使用Join()函数将数组对象转换为字符串。

使用 Join() 函数:

$arrayObject = "How", "are", "you?"
$arrayString = [system.String]::Join(" ", $arrayObject)
$arrayObject.GetType()
$arrayString.GetType()

输出 :

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                                 --------
True     True     Object[]                                 System.Array
True     True     String                                   System.Object

此代码围栏与上一个类似,我们使用了 -join 运算符。但在这里,我们使用了Join()函数,它也做了同样的事情,使用指定的分隔符连接数组的所有元素。现在,$arrayString 如下所示。

打印$arrayString:

$arrayString

输出 :

How are you?

使用 Out-String Cmdlet

使用 Out-String cmdlet 将数组对象转换为字符串。

使用 Out-String Cmdlet:

$arrayObject = "How", "are", "you?"
$arrayString = $arrayObject | Out-String
$arrayObject.GetType()
$arrayString.GetType()

输出 :

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                                 --------
True     True     Object[]                                 System.Array
True     True     String                                   System.Object

在这里,我们使用 Out-String cmdlet 将接收到的输入对象输出为字符串。我们使用管道符号 (|) 将 $arrayObject 的数据转发到 Out-String

此方法显示的输出与以前的方法不同。它将每个数组元素转换为字符串;请参阅以下输出。

打印$arrayString:

$arrayString

输出 :

How
are
you?

使用 $OFS 变量

使用$OFS变量将数组对象转换为字符串。

使用 $OFS 变量:

$arrayObject = "How", "are", "you?"
$OFS = ','
$arrayString = "$arrayObject"
$arrayObject.GetType()
$arrayString.GetType()

输出 :

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                                 --------
True     True     Object[]                                 System.Array
True     True     String                                   System.Object

此代码示例与第一部分类似,我们使用双引号将数组对象转换为字符串。但是,通过 $OFS(输出字段分隔符),我们可以使用自己选择的分隔符,而无需使用 -join 运算符或 Join()功能。

使用 $OFS 变量后,所有转换都将具有我们分配给 $OFS 变量的分隔符,直到 $OFS 发生更改。这次,$arrayString 将如下所示。

打印$arrayString:

$arrayString

输出 :

How,are,you?

这就是 PowerShell 数组到字符串的全部内容,

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯