我想要抓住一個變種字符串的第一個字符及以下卡拉科特的第一個字符PowerShell的 - 從一個特定的字符在VAR捕獲文本
例子:
$var1 = "Jean-Martin"
我想辦法抓住第一個字母「J」,然後我想把「 - 」(短劃線)是「M」後的第一個字符。
我想要抓住一個變種字符串的第一個字符及以下卡拉科特的第一個字符PowerShell的 - 從一個特定的字符在VAR捕獲文本
例子:
$var1 = "Jean-Martin"
我想辦法抓住第一個字母「J」,然後我想把「 - 」(短劃線)是「M」後的第一個字符。
$var1 = "Jean-Martin"
要得到第一個字符:
$var1[0]
要破折號後獲得的第一個字符:
$characterToSeek = '-'
$var1[$var1.IndexOf($characterToSeek)+1]
是這樣的嗎?
$initial1 = $var1[0]
$initial2 = $var1.Split('-')[1][0]
Powershell中的字符串使用.Net框架中的System.String類。因此,它們可以索引以檢索單個字符並且有許多可用的方法,例如上面使用的Split方法。
請參閱文檔here。
另一種選擇使用正則表達式:
PS> $var1 -replace '^(.)[^-]+-(.).+$','$1$2'
JM
哇,這是先進,我甚至都不明白你在做什麼。但是,感謝那個幫助 – lotirthos227 2013-05-07 11:28:32
同意,這有點神祕。該模式會記住短劃線後的第一個字符和第一個字符,並用這些匹配替換整個字符串。 – 2013-05-07 11:46:56