Net.Sf.Dbdeploy.Scripts.FilenameParser.ExtractScriptNumberFromFilename C# (CSharp) Method

ExtractScriptNumberFromFilename() public method

public ExtractScriptNumberFromFilename ( string filename ) : int
filename string
return int
        public int ExtractScriptNumberFromFilename(string filename)
        {
            Match match = this.pattern.Match(filename);
            
            if (!match.Success || match.Groups.Count != 2)
                throw new UnrecognisedFilenameException("Could not extract a change script number from filename: " + filename);

            return int.Parse(match.Groups[1].Value);
        }
    }

Usage Example

 public void CanParseAnyFilenameThatStartsWithANumber()
 {
     FilenameParser parser = new FilenameParser();
     Assert.AreEqual(1, parser.ExtractScriptNumberFromFilename("0001_a_filename.txt"));
     Assert.AreEqual(1, parser.ExtractScriptNumberFromFilename("1_a_filename.txt"));
     Assert.AreEqual(1, parser.ExtractScriptNumberFromFilename("1 a filename.txt"));
     Assert.AreEqual(1, parser.ExtractScriptNumberFromFilename("1.txt"));
     Assert.AreEqual(123, parser.ExtractScriptNumberFromFilename("00123_something.txt"));
     Assert.AreEqual(1, parser.ExtractScriptNumberFromFilename("1.foo.2.txt"));
 }
All Usage Examples Of Net.Sf.Dbdeploy.Scripts.FilenameParser::ExtractScriptNumberFromFilename