我正在尝试在字符串中交换两个单词。我目前有一个txt文件,其中包含一列格式为last.first
的用户。如何将其交换为first.last
?
答案 0 :(得分:2)
-split
字符串并连接:
$Last,$First = "Lastname.Firstname" -split '\.'
$newString = "$First.$Last"
或使用-replace
对两者重新排序:
"Lastname.Firstname" -replace '(\w+)\.(\w+)','$2.$1'
答案 1 :(得分:2)
gc .\names.txt |% { "{1}.{0}" -f $_.split('.') }
gc
(Get-Content
%
(ForEach-Object
Split()
每行围绕句号,进入两个项目的数组"" -f
string formatting运算符构建一个字符串,该字符串按顺序1,0中的数组项进行交换,以交换部件的顺序。答案 2 :(得分:1)
快速而肮脏 - 最小的错误检查......
Get-Content .\test.txt |
ForEach-Object {
if ( $_.Contains('.') ) {
$_.Split('.')[1] + '.' + $_.Split('.')[0] }
else { $_ }
}