我有数百个epub文件。我需要用文件名从文本中提取日期(只有1947年,1987年等) 我的意思是,输出应该是,这个文件名包含这个日期等等 例如epub01包含1995 1945 1986。 epub02包含1926 1946 1948。 如果有人能为我提供可在ubuntu终端上运行的PowerShell脚本或脚本,那就太棒了。
虽然我有epub文件,但我可以自己提取到文本文件。如果你有文本文件的脚本。
答案 0 :(得分:0)
我只能提供文本文件的脚本。您可以使用Get-Content
cmdlet读取它们,并使用regex
来获取包含负向前瞻和负向后观的值,以确保正好有四位数字:
$content = Get-Content 'your_file' -Raw
$matches = [regex]::Matches($content, '(?<!\d)(\d{4})(?!\d)')
$matches | ForEach-Object {
$_.Groups[1].Value
}
正则表达式解释:
(?<!\d)(\d{4})(?!\d)