我有一個包含400個字符串的列表,全部以「_GONOGO」或「_ALLOC」結尾。當應用程序啓動時,我需要從這些字符串中刪除「_GONOGO」或「_ALLOC」。Regex.Replace比條件語句使用String.Contains要慢很多
我試過這個: 'string blah = Regex.Replace(string,「(_GONOGO | _ALLOC)」,「」));'
但它遠遠超過一個簡單的條件語句這樣的慢:
if (string.Contains("_GONOGO"))
// use Substring
else if (string.Contains("_ALLOC"))
// use Substring w/different index
我是新來的正則表達式,所以我希望有人有更好的解決方案或我做什麼可怕的錯誤。這不是什麼大問題,但將這4條線條件變成一條簡單的正則表達式線條將會很好。
如果你在模式的末尾加上一個'$'錨點,你的正則表達式會有更好的表現嗎? – 2009-09-15 00:36:51
你應該使用'EndsWith'而不是'Contains'。隨着更正確,它更快。 :) – 2009-09-15 00:56:20