我有一個字符串,例如值22_ABCD 現在我只需要在我的參數ABCD。什麼是在PowerShell中做到這一點的最佳方法?Powershell字符串分離
是否需要使用Split()然後取$ stringvalue = Split [1]?或者有沒有在PowerShell中的功能,這樣做?
我有一個字符串,例如值22_ABCD 現在我只需要在我的參數ABCD。什麼是在PowerShell中做到這一點的最佳方法?Powershell字符串分離
是否需要使用Split()然後取$ stringvalue = Split [1]?或者有沒有在PowerShell中的功能,這樣做?
Split
是一種方法來做你想做的事情,可以像這樣使用......其中括號之間的值是你想要用於分割的字符。
$string = "22_ABCD"
$string.Split("_")
運行上面的代碼輸出包含兩個項的數組:
22
ABCD
然後可以參考與[1]
陣列中的第二項([0]
是第一項)是這樣的:
$string.Split("_")[1]
哪個輸出第二項:
ABCD
太棒了,不知道你可以直接分割字符串。那很棒 :) – Kevin
如果您正在尋找字母數字字符而不是下劃線後面的下一組字符,則正則表達式是一種可能性。
$x = '22_ABCD_FTG_3'
[regex]::match($x,'([A-Z)]+)').Groups[1].Value
#method 0, with split operator
$Elements="22_ABCD" -split "_"
$Elements[0]
$Elements[1]
#method 1, with split member
$Elements="22_ABCD".Split('_')
$Elements[0]
$Elements[1]
#method 2, with split member and direct affectation
$Element1, $Element2="22_ABCD".Split('_')
$Element1
$Element2
#method 3, with ConvertFrom-String
$Elements="22_ABCD" | ConvertFrom-String -Delimiter "_" -PropertyNames "Element1", "Element2"
$Elements.Element1
$Elements.Element2
#method 4, with ConvertFrom-Csv
$Elements="22_ABCD" | ConvertFrom-Csv -Delimiter "_" -Header "Element1", "Element2"
$Elements.Element1
$Elements.Element2
#method 5, with regex
$Elements=[regex]::split("22_ABCD", '_')
$Elements[0]
$Elements[1]
將所有字符串具有相同的格式(## _ AAAA)?請提供一些細節。 –