String PowerShell从字符串中提取字符
我在.csv文件中有一个用户名列表。看起来像这样String PowerShell从字符串中提取字符,string,powershell,extract,String,Powershell,Extract,我在.csv文件中有一个用户名列表。看起来像这样 PC,User comp-1,john.doe PC-2,steven.smith MAC-1,betty.crocker 我想提取名字和姓氏的第一个字母,放入另一个变量中。我不知道如何做到这一点。这是我的密码,它会给我第一个字母 $PepCSV = import-csv C:\pep.csv foreach($X in $PepCSV) { $UserName = $X.User $UserInt = $UserNam
PC,User
comp-1,john.doe
PC-2,steven.smith
MAC-1,betty.crocker
我想提取名字和姓氏的第一个字母,放入另一个变量中。我不知道如何做到这一点。这是我的密码,它会给我第一个字母
$PepCSV = import-csv C:\pep.csv
foreach($X in $PepCSV)
{
$UserName = $X.User
$UserInt = $UserName.Substring(0,1)
Write-Output "UserName = $UserName `n UserInt = $UserInt"
}
输出是这样的
UserName = john.doe
UserInt = j
UserName = steven.smith
UserInt = s
UserName = betty.crocker
UserInt = b
如何获取UserInt的第二个字母 您可以通过此代码获取姓氏的第一个字母:
$PepCSV = import-csv C:\pep.csv
foreach($X in $PepCSV)
{
$UserName = $X.User
$UserInt = $UserName.Substring(0,1) + ($Username -split '\.')[1].substring(0,1)
Write-Output "UserName = $UserName `n UserInt = $UserInt"
}
使用
-将
替换为除首字母和管道外的所有内容都直接剥离的标签:
导入csv C:\pep.csv |%{
'UserName='+$\.User
'UserInt='+($\.User-replace'()..*?\().*','$1$2')
}
这里要做的是:将字符串John.Doe按点拆分,取其第二部分,然后再次执行substring方法。所有这些都可以用+