[英]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}
匹配任意字符af
或digit
32 次
RegexOptions.IgnoreCase
忽略大小寫
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.