c# - Regex Pattern for filename like XX_XXXX_XXXX_DDMMYYYY -


i retrieving set of files directory. file names in pattern xx_xxxx_xxxx_ddmmyyyy. xx stands country prefix. valid prefixes in,id,sg,my. next set of xxxx ccms fixed. next set of xxxx vary. have below code optimise.

    string[] filepath = directory.getfiles(configurationmanager.appsettings["inputfiles"]);             foreach (string inputfilepath in filepath)             {                 try                 {                     if ((inputfilepath.toupper().contains("hk_ccms_cardo_") || (inputfilepath.toupper().contains("id_ccms_cardo_")) || (inputfilepath.toupper().contains("in_ccms_cardo_")) ||                          (inputfilepath.toupper().contains("my_ccms_cardo_")) || (inputfilepath.toupper().contains("ph_ccms_cardo_")) || (inputfilepath.toupper().contains("sg_ccms_cardo_")) ||                          (inputfilepath.toupper().contains("th_ccms_cardo_")) || (inputfilepath.toupper().contains("tw_ccms_cardo_"))))                     {     //     }     } 

i want replace each inputfilepath.toupper().contains("hk_ccms_cardo_") pattern search fit pattern have given earlier. please help. thanks

not using regular expression, remove redundancy:

var prefixes = new string[]{   "hk_ccms_cardo_", "id_ccms_cardo_", "in_ccms_cardo_",   "my_ccms_cardo_", "ph_ccms_cardo_", "sg_ccms_cardo_" }; foreach(string inputfilepath in filepath) {   try   {     if(prefixes.any((string prefix) => inputfilepath.toupper().startswith(prefix)))     {       // ...     }   } } 

if use regex, generate regex string using string.join('|') concatenate pieces , add date part on end, since you're not trying match format number of known prefixes kind of think above clearer.


Comments

Popular posts from this blog

1111. appearing after print sequence - php -

java - WARN : org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/board/] in DispatcherServlet with name 'appServlet' -

Ruby on Rails, ActiveRecord, Postgres, UTF-8 and ASCII-8BIT encodings -