[英]Regex, extract date from a file name
示例文本是:
Statement_10125229_20170807.pdf
我想得到日期20170807 。
我能夠使用(?<=_).*?(?=_)
= 10125229 提取語句 ID。現在我想提取日期,我嘗試過(?<=_)\d*
但我是仍然返回Statement ID。
一般來說, (?<=_)\d+(?=\.)
和(?<=_)[^_]*(?=\.pdf)
可以解決您的問題。 (?<=_)\d+(?=\.)
模式匹配一個或多個前面緊跟_
並緊跟 . 的數字.
. (?<=_)[^_]*(?=\.pdf)
模式匹配除_
之外的任何零個或多個字符,這些字符前面緊跟_
,緊跟.pdf
。
但是,在 C# 中,您實際上可以在沒有正則表達式的情況下獲得所需的 substring。 您可以使用
var text = "Statement_10125229_20170807.pdf";
var result = Path.GetFileNameWithoutExtension(text).Split('_').LastOrDefault();
使用正則表達式,您還可以使用 go 進行捕獲:
var result = Regex.Match(text, @"_(\d+)\.pdf$")?.Groups[1].Value;
在線查看 C# 演示,兩種方法都產生20170807
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.