[英]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.