我有一個小的正則表達式,我在這裏刪除文件中的所有空白並用' - '替換它們。使用正則表達式替換指定的字符.net
我想用' - '替換其他字符,如','和'_'。
如何在我的正則表達式中列出這些字符?
Regex r = new Regex(@"\s+");
string fileName = r.Replace(Files.Name, @"-");
我有一個小的正則表達式,我在這裏刪除文件中的所有空白並用' - '替換它們。使用正則表達式替換指定的字符.net
我想用' - '替換其他字符,如','和'_'。
如何在我的正則表達式中列出這些字符?
Regex r = new Regex(@"\s+");
string fileName = r.Replace(Files.Name, @"-");
Regex r = new Regex(@"[\s,_-]+");
string fileName = r.Replace(Files.Name, @"-");
請注意,-
必須是第一個,最後還是你需要逃跑。
Regex r = new Regex(@"(\s|-|,|_)+");
完美答案。謝謝! –
呃,但這是一個不太合適的方式來做到這一點。 @xanatos的版本更乾淨,速度更快。 –
我認爲它更具可讀性,因爲您不必擔心訂購或轉義角色,但這是個人偏好。儘管如此,我認爲我們正在進行微觀優化,稱之爲「低效率」。是的,如果你循環數千次,可能會慢幾毫秒。這很重要嗎?如果需要絕對最快的速度,那麼直接替換各個字符的字符串將會更快。 IMO的可讀性通常更重要。 – mikel
- 也可以先:) – FailedDev
@FailedDev迂腐但正確。 – xanatos
@FailedDev這是一個帶着':-)'或':-D'的迂腐者......一個pe':-D'可以說 – xanatos