2010-04-10 24 views
0

我想從我的字符串排除下列字符:如何寫一個正則表達式從字符串中排除一些特殊字符?

\-- 
' 
< 
> 

請告訴我如何寫一個正則表達式這一點。

+1

*不要使用正則表達式*。使用標準的字符串操作函數(更快,更適合作業)...例如在python中,str.translate會做這個工作...在Java中,String.replace ...使用C#的等價函數 – aviraldg 2010-04-10 19:16:20

回答

0

如果問題是如何從一個字符串中刪除\--'<>那麼這個正則表達式不工作:

​​

或C#

resultString = Regex.Replace(subjectString, @"['<>]|\\--", ""); 
0

如果您正則表達式方言支持向前看符號:

^(?:(?!\\--|['<>]).)*$ 

然而,在一些語言可能是清潔劑有一個簡單的手工檢查,而不是使用正則表達式。

+0

範圍' - ''是無效的。至少在.NET的正則表達式實現中。 – Joey 2010-04-10 19:13:22

+0

你是對的。我只是機械地複製了角色,甚至沒有注意到有兩個破折號。隨着您對OP的編輯,看起來整個序列都將被考慮。 – 2010-04-10 19:22:37

0
string s = Regex.Replace(SomeString, "[\-'<>]", ""); 

希望這會有所幫助。

+1

那是什麼'&mt;'那裏? – Joey 2010-04-10 19:12:00

+0

對不起......我很着急。 – NawaMan 2010-04-11 07:11:35

2

就我個人而言,我只是使用string.Replace。正則表達式很棒,但應該明智地使用。

相關問題