簡體   English   中英

正則表達式或 Substring 以匹配文件名和擴展名

[英]Regex or Substring to Match Filename With Extension

我目前的情況是可以給我一個文件名,其路徑如下:

C:\\Users\\testUser\\Documents\\testFile.txt.9043632d298f44ad88509c677a8249f8

或者

C:\\Users\\testUser\\Documents\\testFile.txt.9043632d298f44ad88509c677a8249f8.enc

我需要能夠提取所有內容直到擴展名結束(可以是任何文件擴展名,總是有 guid 字符串前面有一個。在擴展名之后)

因此,示例 output 將是:

C:\\Users\\testUser\\Documents\\testFile.txt
C:\\Users\\testUser\\Documents\\testFile.pdf
C:\\Users\\testUser\\Documents\\testFile.jpeg

我已經嘗試過子字符串,但似乎無法獲得正確的輸入(盡管我認為這是一項簡單的任務)。 我似乎永遠無法得到正確的結果。

我試過的一個例子是:

filename.Substring(0,filename.Indexof('.', //what goes here??));

但一直卡住。

任何幫助都會很可愛!

您可能會使用:

new Regex(@".*(?=\.[a-f\d]{32})", RegexOptions.IgnoreCase).Match(yourString)

說明

.+ 匹配一個或多個任意字符

(?= )向前看,檢查以下字符是否匹配,但不包含在匹配中

\. 匹配一個點

[af\d]{32}匹配任意字符afdigit 32 次

RegexOptions.IgnoreCase忽略大小寫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM