簡體   English   中英

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

[英]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及其靜態方法,如GetFileNameWithoutExtenstionGetDirectoryName等。看看這個鏈接: http//msdn.microsoft.com/en-us/library/system.io.path的.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM