Hi, > i want to grab just the filename and extension from the following string: > > str1="F:\\Test1\\Test2\\Test3\\test.txt"; > > i want to grab "test.txt" > > i use this code: > > file1=(str1.split("\\"))[(str1.split("\\")).length-1]; > > i was wondering if there is a better way to grab that part of the string
Yes, of course: var tmp = str1.split("\\"); file1 = tmp[tmp.length-1]; That way the JS-interpreter doesn't need to split the string twice. I think that this is the fastest aproach. Another aproach could be: file1 = str1; var tmp; while( (tmp = file1.indexOf("\\")) >= 0 ) file1 = file1.substr(tmp+1); But I think, that is slower. The advantage is that it is easy to understand that you ar working on the string. Yet another aproach: file1 = str1.match(/[^\\]*$/); I guess this can compete in performance with the split()-method - shold be just a bit slower since the evaluation of a regular expression is more complex than a simple split. It is the shortest variant, but not the most readable. If you ask me I would either recomend the split()-method or the regular-expression-method. Christof _______________________________________________ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/