[英]what is the best way to split a string
我有文件名看起來像
目錄\\名稱secondName-blabla.txt
如果我使用字符串.split,我的代碼需要知道我正在使用的分隔符,但如果在某一天我將替換分隔符,我的代碼將會破壞
是否有任何構建方式進行拆分以獲得以下結果?
Directory
name
secondNmae
blabla
txt
謝謝
編輯我的問題比分割文件名更通用,一般是分割字符串
拆分文件名的最佳方法是使用System.IO.Path
你不清楚如何處理directory1\\directory2\\
,
但一般來說,您應該使用此靜態類來查找路徑 , 名稱和后綴部分。
之后你需要String.Split()
來處理-
分隔符,你只需要讓分隔符成為配置設置。
您可以使用分隔符創建數組:
string value = "Directory\name-secondName-blabla.txt";
char[] delimiters = new char[] { '\\', '-', '.' };
string[] parts = value.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);
var filepath = @"Directory\name-secondName-blabla.txt";
var tokens = filepath.Split(new[]{'\\', '-'});
如果您擔心將來更改分隔符令牌,請在設置文件中將其設置為常量,這樣您只需在一個位置更改它。 或者,如果您認為它會定期更改,請將其放在配置文件中,這樣您就不必每次都發布新版本。
正如Henk上面提到的那樣,使用System.IO.Path
及其靜態方法,如GetFileNameWithoutExtenstion
, GetDirectoryName
等。看看這個鏈接: http : //msdn.microsoft.com/en-us/library/system.io.path的.aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.