Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell-从特定字符捕获变量中的文本_Powershell - Fatal编程技术网

Powershell-从特定字符捕获变量中的文本

Powershell-从特定字符捕获变量中的文本,powershell,Powershell,我想获取var字符串的第一个字符和下面一个字符的第一个字符 例如: $var1 = "Jean-Martin" 我想要一种方法来抓取第一个字母“J”,然后我想要取“-”(破折号)后面的第一个字符,它是“M”。类似这样的吗 $initial1 = $var1[0] $initial2 = $var1.Split('-')[1][0] Powershell中的字符串使用.Net framework中的System.String类。因此,它们可以索引以检索单个字符,并且有许多可用的方法,例如上面使

我想获取var字符串的第一个字符和下面一个字符的第一个字符

例如:

$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