2012-01-13 13 views
14

के साथ फ़ंक्शन को प्रतिस्थापित करें मैं प्रतिस्थापित फ़ंक्शन के साथ सभी विशेष वर्णों को प्रतिस्थापित करने का एक तरीका ढूंढ रहा था। मैं रेजर सिंटैक्स का उपयोग करना चाहता हूं लेकिन यहरेगेक्स रेजर

@Product.Name.Regex.Replace(@"[^A-Za-z0-9/\s/g]", "_") 

चाल नहीं करता है।

मैं इस

@Regex.Replace(@Product.Name,@"[^A-Za-z0-9/\s/g]", "_") 

की कोशिश की है और यह रूप में अच्छी तरह विफल रहा है।

अब तक मैं अन्य बातों का एक बहुत कुछ और समय मैं यह त्रुटि संदेश प्राप्त हो रही है की एक बहुत कुछ कोशिश की है: "नाम 'Regex' वर्तमान संदर्भ में मौजूद नहीं है"

किसी को भी मदद कृपया ?

उत्तर

21

आपको अपने टेम्पलेट के शीर्ष पर @using System.Text.RegularExpressions जोड़ने की आवश्यकता है। इसके अलावा, this question आपकी मदद करेगा यदि आप यह नामस्थान सभी टेम्पलेट्स में उपलब्ध होना चाहते हैं।

+0

बहुत बहुत धन्यवाद! वह चाल है। –

+0

बस Raskolnikov के उत्तर में जोड़ने के लिए, जब आप कक्षा के सही नाम को जानते हैं लेकिन इसके नामस्थान को नहीं जानते हैं, तो CTRL + PERIOD दबाएं और विजुअल स्टूडियो सही नामस्थान आयात करने के लिए "समाधान" सुविधा का सुझाव देगा। लेकिन मुझे नहीं लगता कि यह दृश्य पर काम करता है, शायद सीएस फाइलों पर। – programad

+0

इसे दृश्य में काम करना चाहिए, लेकिन मुझे पूरी तरह से यकीन नहीं है क्योंकि मैं Resharper का उपयोग करता हूं जो निश्चित रूप से ऐसा करता है। यदि आप इसका उपयोग नहीं कर रहे हैं, तो मैं दृढ़ता से अनुशंसा करता हूं कि आप इसे एक शॉट दें। –

6

पूरा होने के लिए, नियमित अभिव्यक्ति के लिए सही कोड है:

@Regex.Replace(@Product.Name,@"[^A-Za-z0-9\.\,_]", "_") 

यह एक अंडरस्कोर से सभी विशेष वर्ण की जगह लेगा।