我想要抓住一个变种字符串的第一个字符及以下卡拉科特的第一个字符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