拆分字符串的最佳方法是什么

时间:2011-09-21 12:48:04

标签: c# string

我的文件名看起来像

  

目录\名称secondName-blabla.txt

如果我使用string .split,我的代码需要知道我正在使用的分隔符, 但如果在某一天我将替换分隔符,我的代码将会中断

是否有任何构建方式可以拆分以获得以下结果?

Directory
name
secondNmae
blabla
txt

由于

编辑我的问题比分割文件名更通用,一般是分割字符串

5 个答案:

答案 0 :(得分:8)

分割文件名的最佳方法是使用System.IO.Path

您不清楚如何处理directory1\directory2\
但一般情况下,您应该使用此静态类来查找路径名称后缀部分。

之后,您将需要String.Split()来处理-分隔符,您只需要将分隔符设置为配置。

答案 1 :(得分:2)

您可以使用分隔符创建数组:

string value = "Directory\name-secondName-blabla.txt";
char[] delimiters = new char[] { '\\', '-', '.' };
string[] parts = value.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);

答案 2 :(得分:0)

var filepath = @"Directory\name-secondName-blabla.txt";
var tokens = filepath.Split(new[]{'\\', '-'});

答案 3 :(得分:0)

如果您担心将来更改分隔符令牌,请在设置文件中将其设置为常量,这样您只需在一个位置更改它。或者,如果您认为它会定期更改,请将其放在配置文件中,这样您就不必每次都发布新版本。

答案 4 :(得分:0)

正如Henk上面提到的那样,使用System.IO.Path及其静态方法,例如GetFileNameWithoutExtenstionGetDirectoryName等。看看这个链接: http://msdn.microsoft.com/en-us/library/system.io.path.aspx