c#如何从子字符串中获取一个值
本文关键字:一个 获取 字符串 | 更新日期: 2023-09-27 18:25:51
如何解决此问题?
我想更改的内容:
C: ''files''team''business''dev''Source''systems''extension''destination''1.0.1.1''
转换为新值:
value="1.0.11";
您只需获得相应DirectoryInfo
:的Name
string path = @"C:'files'team'business'dev'Source'systems'extension'destination'1.0.1.1'";
string version = new DirectoryInfo(path).Name;
替代方法:
var path = @"C:'files'team'business'dev'Source'systems'extension'destination'1.0.1.1'";
var value = Path.GetFileName(path.TrimEnd(new[]{'/',''''}));
// OUTPUT: 1.0.1.1
这基本上删除了最后一个目录delimeter,然后将最后一个文件夹作为文件名处理,因此返回最后一个文件名。
根据@JeppeStigNielsen下面的评论,这里有一个更好的、独立于平台的替代方案。
var value = Path.GetFileName(Path.GetDirectoryName(path));
如果也存在文件名,这将起作用。
var value = Path.GetFileName(Path.GetDirectoryName(".../1.0.1.1/somefile.etc"));
// returns 1.0.1.1
Darin的答案很棒,但作为一种替代方案;
string s = @"C:'files'team'business'dev'Source'systems'extension'destination'1.0.1.1'";
string[] array = s.Split('''');
Console.WriteLine(array[array.Length - 2]);
输出将为;
1.0.1.1
这里是演示。