【问题标题】:PowerShell extract characters from stringPowerShell从字符串中提取字符
【发布时间】:2016-08-27 00:44:52
【问题描述】:

我有一个 .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 = $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 的第二个字母?

【问题讨论】:

    标签: string powershell extract


    【解决方案1】:

    -replaceregexp 一起使用,直接去除除首字母和管道之外的所有内容:

    import-csv C:\pep.csv | %{
        'UserName = ' + $_.User
        ' UserInt = ' + ($_.User -replace '(.).*?\.(.).*', '$1$2')
    }
    

    【讨论】:

      【解决方案2】:

      您可以通过此代码获取姓氏的第一个字母:

       $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"
       } 
      

      【讨论】:

      • 您在此处所做的是:您将字符串 John.Doe 按点拆分,取出它的第二部分并再次执行 substring 方法。所有这些都可以附加+
      猜你喜欢
      • 2021-12-03
      • 2021-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多