目前,我可以给我一个文件名,其路径类似于:
convert chinese.gif -chop 0x1+0+44 -chop 0x1+0+73 -chop 0x1+0+132 -chop 0x1+0+161 -chop 0x1+0+190 -chop 0x1+0+249 -chop 0x1+0+278 -chop 0x1+0+307 -chop 0x1+0+366 -chop 0x1+0+395 result.png
或
C:\\Users\\testUser\\Documents\\testFile.txt.9043632d298f44ad88509c677a8249f8
我需要能够提取到扩展名末尾为止的所有内容(可以是任何文件扩展名,在扩展名后始终带有guid字符串,并带有。)
因此,示例输出为:
C:\\Users\\testUser\\Documents\\testFile.txt.9043632d298f44ad88509c677a8249f8.enc
我尝试了子字符串,但似乎无法获得正确的输入(尽管我认为这是一个简单的任务)。我似乎永远都无法得到正确的结果。
我尝试过的一个例子是:
C:\\Users\\testUser\\Documents\\testFile.txt
C:\\Users\\testUser\\Documents\\testFile.pdf
C:\\Users\\testUser\\Documents\\testFile.jpeg
但要坚持下去。
任何帮助都会很可爱!
答案 0 :(得分:0)
您可以使用:
new Regex(@".*(?=\.[a-f\d]{32})", RegexOptions.IgnoreCase).Match(yourString)
说明:
。+匹配任意一个或多个字符
(?= )
向前看,检查以下字符是否匹配,但不包含在匹配项中
\.
匹配一个点
[a-f\d]{32}
与任何字符a-f
或digit
完全匹配32次
RegexOptions.IgnoreCase
忽略大小写