问题描述
Ex : add from itertools import zip_longest
def grouper(iterable,n,fillvalue=None):
"Collect data into fixed-length chunks or blocks"
# grouper('ABCDEFG',3,'x') --> ABC DEF Gxx"
args = [iter(iterable)] * n
return zip_longest(*args,fillvalue=fillvalue)
keys = ["name","link","id"]
user_info = ["name1","link1","id1","name2","link2","id2","name3","link3","id3"]
groups = grouper(user_info,n=len(keys),fillvalue='')
users = [dict(zip(keys,values)) for values in groups]
-and ($_ -notmatch '67'
解决方法
使用 single -notmatch
操作和 regex alternation (|
),它允许您传递一个开放式子串的数量:
$valuesToExclude = '24','67','42'
$content= Get-Content $file |
Where-Object { $_ -notmatch ($valuesToExclude -join '|') } |
Set-Content $outfile
注意:以上假设 $valuesToExclude
只包含不包含正则表达式 元字符 的值(例如,.
);如果有这种可能性,并且您希望这些字符被字面意义解释,请对值调用 [regex]::Escape()
:($valuesToExclude.ForEach({ [regex]::Escape($_) }) -join '|')