प्रश्न के लिए प्रस्तुत करने का विषय देखें।वैध फ़ाइल नाम चेक। सबसे अच्छा तरीका क्या है?
1) मैं VB.NET में एक बहुत अच्छा विकल्प LINQ का उपयोग कर देख याद "% की तरह '
2) मैं जानता हूँ कि नियमित अभिव्यक्ति काम करेंगे और मुझे लगता है कि कम से कम कोड और शायद का परिणाम देगा का उपयोग कर मैच के लिए नहीं इस तरह के एक साधारण परीक्षण के लिए पढ़ने के लिए भी मुश्किल हो जाएगा
यहाँ मैं क्या किया है चेतावनी:।।। सच कहूं आप वाला यह नफरत कर रहे हैं
Private Shared Function FileNameIsOk(ByVal fileName As String) As Boolean
For Position As Integer = 0 To fileName.Length - 1
Dim Character As String = fileName.Substring(Position, 1).ToUpper
Dim AsciiCharacter As Integer = Asc(Character)
Select Case True
Case Character = "_" 'allow _
Case Character = "." 'allow .
Case AsciiCharacter >= Asc("A") And AsciiCharacter <= Asc("A") 'Allow alphas
Case AsciiCharacter >= Asc("0") AndAlso AsciiCharacter <= Asc("9") 'allow digits
Case Else 'otherwise, invalid character
Return False
End Select
Next
Return True
End Function
कभी भी सुधार करने में देर नहीं हुई। धन्यवाद। – ChadD
यदि मैं कर सकता हूं, तो इस फ़ंक्शन का उद्देश्य फ़ाइल नाम में मान्य वर्णों का परीक्षण करना है। लेकिन अगर इसमें अमान्य वर्ण हैं, तो यह पहली पंक्ति पर दुर्घटनाग्रस्त हो जाएगा: पथ। गेटफ़ाइलनाम (फ़ाइल नाम) – David
* "इस विधि से लौटाई गई सरणी को उन वर्णों का पूरा सेट शामिल करने की गारंटी नहीं है जो फ़ाइल और निर्देशिका नामों में अमान्य हैं। अमान्य वर्णों का पूरा सेट फ़ाइल सिस्टम द्वारा भिन्न हो सकता है। उदाहरण के लिए, विंडोज-आधारित डेस्कटॉप प्लेटफ़ॉर्म पर, अमान्य पथ वर्णों में ASCII/यूनिकोड वर्ण 1 से 31, साथ ही उद्धरण ("), (<) से कम, <<) से अधिक हो सकता है (>), पाइप (|), बैकस्पेस (\ b), शून्य (\ 0) और टैब (\ t)। "* https://msdn.microsoft.com/en-us/library/system.io.path .getinvalidfilenamechars (v = vs.110) .aspx – mbomb007