Blu*_*luz 3 regex string powershell comma export-to-csv
在以下字符串中,
apache:x:48:48:Apache:/var/www:/sbin/nologin
我怎么能用逗号替换第一个冒号(只有这个冒号)所以我会得到以下字符串?
apache,x:48:48:Apache:/var/www:/sbin/nologin
此外,代码必须支持具有多行的文件,并且仅替换每行中的第一个逗号.
使用正则表达式:
PS C:\> $s = 'apache:x:48:48:Apache:/var/www:/sbin/nologin'
PS C:\> $s -replace '^(.*?):(.*)','$1,$2'
apache,x:48:48:Apache:/var/www:/sbin/nologinRegexp细分:
^(.*?)::字符串开头和冒号(即第一个冒号前的文本)之间的最短匹配.(.*):字符串的其余部分(即第一个冒号后的所有内容).parantheses对子表达式进行分组,因此可以在替换字符串中将它们作为$1和引用$2.
进一步说明:
^ 匹配字符串的开头..*匹配任意数量的字符(.⇒任何字符,*⇒零次或多次)..*?做同样的,但给出最短的匹配(?)而不是最长的匹配.这被称为"非贪婪的比赛".| 归档时间: | 
 | 
| 查看次数: | 9210 次 | 
| 最近记录: |