8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

我怎样才能拆分此文件名以仅获取日期

AND 1月前

28 0

我如何使用 VB.NET 用一个变量来拆分以下文件名以提取文件名的日期部分?我最初从路径中获取文件名。两个示例:Mozart - Cpt - 03 Aug...

如何使用 VB.NET 用一个变量拆分以下文件名以提取文件名的日期部分?

我最初从路径获取文件名。两个例子:

莫扎特 - Cpt - 2024 年 8 月 3 日.xlsx
莫扎特 - 2024 年 8 月 3 日.xlsx

我有这个代码:

Din Filename as String = ""
Dim mDate as string = format(cdate(split(split(path.getfilename(Filename), "-")(1), ".xlsx")(0)),"yyyy/MM/dd")

第二个示例有效 Mozart - 03 Aug 2024.xlsx ,但 Mozart - Cpt - 03 Aug 2024.xlsx 样本无效。我该如何修复?

帖子版权声明 1、本帖标题:我怎样才能拆分此文件名以仅获取日期
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由AND在本站《vb.net》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 您想要将 - 文件名的最后一部分(不带扩展名)解析为 Date 。因此,您可以使用 Split Enumerable.Last Date.TryParseExact

    Dim lastPart = Path.GetFileNameWithoutExtension(fileName).Split("-"c).Last()
    Date.TryParseExact(lastPart, "dd MMM yyyy", CultureInfo.InvariantCulture, DateTimeStyles.AllowWhiteSpaces, dt)
    

    完整测试代码:

    Sub Main
        Dim FileNames() As String = {"Mozart - Cpt - 03 Aug 2024.xlsx","Mozart - 03 Aug 2024.xlsx"}
        For Each fileName In FileNames
            Dim lastPart = Path.GetFileNameWithoutExtension(fileName).Split("-"c).Last()
            Dim dt As Date
            If Date.TryParseExact(lastPart, "dd MMM yyyy", CultureInfo.InvariantCulture, DateTimeStyles.AllowWhiteSpaces, dt)
                Console.WriteLine(dt)
            End If
        Next
    End Sub
    

    http://dotnetfiddle.net/sjcWgr

返回
作者最近主题: