[英]PowerShell Importing CSV
我正在导入 CSV。 我有一个名为“出生日期”的列,日期格式为“yyyy/MM/dd”和“yyyy-MM-dd”。
我只想提取日期为后一种格式的记录 (yyyy-MM-dd)
我下面的代码有效,但它没有为 $SearchFor = "-" 拉回任何记录,当使用 $SearchFor = "/" 时,我将返回所有记录。
Import-CSV C:\Test\TestFile.csv | Where-Object { $_."Date Of Birth" -Notlike $SearchFor } | ForEach-Object {
有谁知道发生了什么,以及我如何只能获得我正在寻找的记录?
无论您的查询是:
$_."Date Of Birth" -Notlike $SearchFor
$SearchFor
是"-"
或"/"
您需要添加通配符并使用"*-*"
和"*/*"
否则-like
运算符的行为类似于-eq
运算符。
更好的是,使用正则表达式来匹配似乎一成不变的确切格式:
用破折号匹配日期: $SearchFor = "^\\d{4}-\\d{2}-\\d{2}$"
$_."Date Of Birth" -match $SearchFor
要将日期与斜杠匹配,只需稍微编辑正则表达式查询字符串: $SearchFor = "^\\d{4}/\\d{2}/\\d{2}$"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.