将字符串的第一个字符转换为大写

时间:2016-03-11 23:30:32

标签: powershell powershell-ise

我有一个用户信息数据库,但我想将名为firstName的列的第一个字符设置为大写字母。我尝试在for-each循环中调用脚本中的列名来使用Get-Culture类来隐藏它,但是我的方法不起作用,我该如何完成这个转换呢?

$UserList = Import-Csv C:\Users\Administrator\Desktop\salesdbs.csv 

$UserList | Select-Object -First 100 | Format-Table -AutoSize


$UserList =  foreach ($firstName in $UserList) { 

$UserList = (Get-Culture).TextInfo.ToTitleCase($UserList) 

}

Echo "$UserList"

2 个答案:

答案 0 :(得分:2)

试试这个:

$UserList = Import-Csv C:\Users\Administrator\Desktop\salesdbs.csv

foreach ($row in $UserList) {
    $row.firstName = (Get-Culture).TextInfo.ToTitleCase($row.firstName)
}

答案 1 :(得分:1)

我无法从OP确定CSV文件的结构(架构)。我猜每行都有多列,其中一列叫做FirstName。如果这不正确,请使用CSV文件的架构更新OP。

试试这个:

$UserList = Import-Csv C:\Users\Administrator\Desktop\salesdbs.csv 
$UserList | Select-Object -First 100 | Format-Table -AutoSize

for ($ndx = 0; $ndx -lt 100; $ndx++) { 
  $userlist[$ndx].firstname = (Get-Culture).TextInfo.ToTitleCase($userlist[$ndx].firstname) 
}
Echo "$UserList"