Powershell-从特定字符捕获变量中的文本
我想获取var字符串的第一个字符和下面一个字符的第一个字符 例如:Powershell-从特定字符捕获变量中的文本,powershell,Powershell,我想获取var字符串的第一个字符和下面一个字符的第一个字符 例如: $var1 = "Jean-Martin" 我想要一种方法来抓取第一个字母“J”,然后我想要取“-”(破折号)后面的第一个字符,它是“M”。类似这样的吗 $initial1 = $var1[0] $initial2 = $var1.Split('-')[1][0] Powershell中的字符串使用.Net framework中的System.String类。因此,它们可以索引以检索单个字符,并且有许多可用的方法,例如上面使
$var1 = "Jean-Martin"
我想要一种方法来抓取第一个字母“J”,然后我想要取“-”(破折号)后面的第一个字符,它是“M”。类似这样的吗
$initial1 = $var1[0]
$initial2 = $var1.Split('-')[1][0]
Powershell中的字符串使用.Net framework中的System.String类。因此,它们可以索引以检索单个字符,并且有许多可用的方法,例如上面使用的拆分方法
请参阅文档
要获取第一个字符,请执行以下操作:
$var1[0]
要获取破折号后的第一个字符,请执行以下操作:
$characterToSeek = '-'
$var1[$var1.IndexOf($characterToSeek)+1]
使用正则表达式的另一个选项:
PS> $var1 -replace '^(.)[^-]+-(.).+$','$1$2'
JM
哇,太先进了,我都不明白你在干什么。但是谢谢你在这方面的帮助,同意,这有点神秘。该模式记住第一个字符和破折号后的第一个字符,并用这些匹配项替换整个字符串。
PS> $var1 -replace '^(.)[^-]+-(.).+$','$1$2'
JM