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

[玩转系统] PowerShell 拆分并获取最后的值 [4 种方式]

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

PowerShell 拆分并获取最后的值 [4 种方式]


[玩转系统] PowerShell 拆分并获取最后的值 [4 种方式]

使用 Split() 方法

使用带有索引运算符的 Split() 方法来拆分指定字符串并获取 PowerShell 中的最后一个值。

将 Split() 与索引运算符一起使用:

$string = "This is a sample string"
$lastElement = ($string.Split(" "))[-1]
Write-Host "The last element of '$string' is '$lastElement'"

输出 :

The last element of 'This is a sample string' is 'string'

首先,我们定义了一个 $string 变量并用字符串值初始化它,如上面的代码栅栏所示。接下来,我们使用 Split() 方法,传递空格作为分隔符,并将该方法与 $string 链接起来,以便在发现空格的任何位置进行拆分。

我们将 Split() 方法返回的输出括在括号中,并使用索引运算符 ([]) 获取最后一个值。在PowerShell中,我们可以使用-1来获取数组中的最后一个索引或元素。最后,我们使用 Write-Host cmdlet 打印自定义输出,显示完整的字符串及其用单引号括起来的最后一个元素。

使用 Split() 方法和 Select-Object cmdlet 来拆分给定字符串并获取 PowerShell 中的最后一个值。

将 Split() 与 Select-Object Cmdlet 结合使用:

$string = "This is a sample string"
$lastElement = ($string.Split(" ")) | Select-Object -Last 1
Write-Host "The last element of '$string' is '$lastElement'"

输出 :

The last element of 'This is a sample string' is 'string'

此代码与上一个代码类似,但我们将 Split() 方法的输出通过管道传输到 Select-Object cmdlet。

此 cmdlet 用于选择对象或一组对象的指定属性。我们还可以使用此 cmdlet 选择给定数量的对象、唯一对象或指定数组中特定位置的对象。此外,我们还可以使用 -First-Last-Skip-Unique- Index 参数用于从集合(例如数组)中选择对象。

我们使用 Select-Object cmdlet 和 -Last 参数(其值设置为 1)来获取 $的最后一个元素字符串。最后,我们使用 Write-Host cmdlet 在 PowerShell 控制台上显示自定义结果。

我们还可以指定 -Last 参数前面的 23、... 或 n 个单词数将它们作为一个字符串元素。

使用 -Split 运算符

使用 -Split 运算符和索引运算符来拆分指定字符串并获取 PowerShell 中的最后一个值。

将 -Split 与索引运算符一起使用:

$string = "This is a sample string"
$lastElement = ($string -Split " ")[-1]
Write-Host "The last element of '$string' is '$lastElement'"

输出 :

The last element of 'This is a sample string' is 'string'

结合使用 -Split 运算符和 Select-Object cmdlet 来拆分指定字符串并获取 PowerShell 中的最后一个值。

将 -Split 与 Select-Object Cmdlet 结合使用:

$string = "This is a sample string"
$lastElement = ($string -Split " ") | Select-Object -Last 1
Write-Host "The last element of '$string' is '$lastElement'"

输出 :

The last element of 'This is a sample string' is 'string'

上面的两个代码片段与上一节中我们使用 Split() 方法的示例相同。唯一的区别是我们这次使用了 -Split 运算符,它的作用与 Split() 方法相同,但是您可以发现一些差异和相似之处[此处](请添加“PowerShell Split Path into Array”文章的链接,来自 MS11)。

到目前为止,我们分割了一个简单的字符串并从中检索了最后一个元素;假设我们有一个字符串值的路径,并被告知从中检索最后一个值。此处,最后一个值可以是文件或文件夹名称。请参阅以下部分来探索它。

使用 System.IO.Path 类

要拆分指定的路径和目录并在 PowerShell 中获取最后一个值:

  • 将路径存储在变量中。
  • 使用 GetDirectoryName() 方法从路径中检索目录并将其存储在变量中。
  • 使用带有索引运算符的 Split() 方法两次,从第一步和第二步中创建的路径和目录中获取最后一个元素。
  • 使用 Write-Host cmdlet 在 PowerShell 控制台上显示自定义结果。

将 System.IO.Path 类与索引运算符一起使用:

$path = "C:\Users\Mehvish\Desktop\Samples\House_Prediction_Using_Two_File_Dataset.pdf"
$directory = [System.IO.Path]::GetDirectoryName($path)
$pathLastElement = ($path.Split("\"))[-1]
$directoryLastElement = ($directory.Split("\"))[-1]
Write-Host "Path: $path"
Write-Host "Last element of the path:'$pathLastElement'"
Write-Host "Directory: $directory"
Write-Host "Last element of the directory:'$directoryLastElement'"

输出 :

Path: C:\Users\Mehvish\Desktop\Samples\House_Prediction_Using_Two_File_Dataset.pdf
Last element of the path:'House_Prediction_Using_Two_File_Dataset.pdf'
Directory: C:\Users\Mehvish\Desktop\Samples
Last element of the directory:'Samples'

将路径存储在 $path 变量中后,我们使用 Path 类的 GetDirectoryName() 方法。首先,我们将 $path 作为参数传递以获取其目录,并将其存储在 $directory 变量中。接下来,我们将 Split() 方法与 $path$directory 变量分别链接起来,并将 \ 作为分隔符根据 \ 字符分割它们;但是,使用具有 -1 值的索引运算符来获取它们的最后一个值。最后,我们使用 Write-Host cmdlet 打印自定义消息以使输出更易于理解。

使用 System.IO.Path 类和 Select-Object cmdlet 来分割指定的路径和目录并获取 PowerShell 中的最后一个值。

将 System.IO.Path 类与 Select-Object 一起使用:

$path = "C:\Users\Mehvish\Desktop\Samples\House_Prediction_Using_Two_File_Dataset.pdf"
$directory = [System.IO.Path]::GetDirectoryName($path)
$pathLastElement = ($path.Split("\")) | Select-Object -Last 1
$directoryLastElement = ($directory.Split("\"))[-1] | Select-Object -Last 1
Write-Host "Path: $path"
Write-Host "Last element of the path:'$pathLastElement'"
Write-Host "Directory: $directory"
Write-Host "Last element of the directory:'$directoryLastElement'"

输出 :

Path: C:\Users\Mehvish\Desktop\Samples\House_Prediction_Using_Two_File_Dataset.pdf
Last element of the path:'House_Prediction_Using_Two_File_Dataset.pdf'
Directory: C:\Users\Mehvish\Desktop\Samples
Last element of the directory:'Samples'

此示例与上一个示例类似,但我们使用 Select-Object-Last 参数来获取最后一个值。请注意,我们已经学习了[使用 Split() 方法时选择对象](在此处添加第一部分的链接)。

到目前为止,我们使用了不同的方法来分割简单的字符串,但是如果我们需要分割一个特定的字符串(即对象属性的值)怎么办?不用担心;让我们深入以下部分来学习它。

对对象的属性使用 Split()-Split

使用 Split() 方法和 -Split 运算符与索引运算符来拆分对象属性的值并在 PowerShell 中获取其最后一个元素。

将 Split() 和 -Split 与索引运算符一起使用:

$studentObject = New-Object PSObject -Property @{
    studentFirstName = "Mehvish"
    studentLastName = "Ashiq"
    studentAge = 30
    Address = "123 Main St, sometown, UK"
}
$lastElementUsingSplitOperator = ($studentObject.Address -Split ' ')[-1]
$lastElementUsingSplitFunction = ($studentObject.Address.Split(' '))[-1]
Write-Host "Last element using -Split operator with indexing operator: '$lastElementUsingSplitOperator'"
Write-Host "Last element using Split() method with indexing operator: '$lastElementUsingSplitFunction'"

输出 :

Last element using -Split operator with indexing operator: 'UK'
Last element using Split() method with indexing operator: 'UK'

对于上面的示例,我们使用 New-Object cmdlet 创建一个对象并将其存储在 $studentObject 变量中。 -Property 参数用于设置新对象的属性值和调用方法。这个对象有key=value对;每对由换行符分隔,其中 key 是属性名称(例如 $studentAge),value 是属性值(例如 30)。

key 也可以是方法,value 可以是方法参数。

我们从 PSOObject 类派生新对象,因为它有助于指定对象上不存在的属性。因此,New-Object cmdlet 将对象的属性指定为 NoteProperty

创建对象后,我们使用点符号 (.) 作为 $studentObject.Address 来检索 Address 属性的值。然后,我们使用 -Split 运算符和索引运算符来获取存储在 $lastElementUsingSplitOperator 变量中的最后一个值。同样,我们使用 Split() 方法检索最后一个元素,并将值存储在 $lastElementUsingSplitFunction 变量中。最后,我们使用 Write-Host cmdlet 在控制台上显示自定义结果。

使用 Split() 方法和 -Split 运算符与 Select-Object cmdlet 来拆分对象属性的值,并获取 PowerShell 中的最后一个元素。

将 Split() 和 -Split 与 Select-Object Cmdlet 结合使用:

$studentObject = New-Object PSObject -Property @{
    studentFirstName = "Mehvish"
    studentLastName = "Ashiq"
    studentAge = 30
    Address = "123 Main St, sometown, UK"
}
$lastElementUsingSplitOperator = ($studentObject.Address -Split ' ') | Select-Object -Last 1
$lastElementUsingSplitFunction = ($studentObject.Address.Split(' ')) | Select-Object -Last 1
Write-Host "Last element using -Split operator with Select-Object cmdlet: '$lastElementUsingSplitOperator'"
Write-Host "Last element using Split() method with Select-Object cmdlet: '$lastElementUsingSplitFunction'"

输出 :

Last element using -Split operator with Select-Object cmdlet: 'UK'
Last element using Split() method with Select-Object cmdlet: 'UK'

此示例与上一个示例相同,但我们使用带有 -Last 参数的 Select-Object cmdlet 来获取最后一个元素。

这就是 PowerShell 拆分并获取最后值的全部内容。

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

取消回复欢迎 发表评论:

关灯