var teststr = "c:\file\attachment\201208\test.rar(文件说明)sdsdsdd";
var testend = teststr.match(/\w+(?=\.w+\()w+/);//我这样写不对,值为null,我要的值为test.rar或rar
文件扩展名之后为(字符,这个是不变的,该字符串有且只有一个文件名,如果用正则找出其扩展名呢?
对正则比较熟的大虾,指点下吧,谢了
------解决方案--------------------
- JScript code
var teststr = "c:\\file\\attachment\\201208\\test.rar(文件说明)sdsdsdd";//你这里的路径写错了 var testend = teststr.match(/([^\\]+)(\.[^\(]+)/i); alert(testend.join('\n'))
------解决方案--------------------
sdsdsdd这一段时随机的吧,这就难找了
------解决方案--------------------
var teststr = "c:\file\attachment\201208\test.rar(文件说明)";
(文件说明) 这是什么?就是这么几个字,还是固定的有括号括起来的一段说明?
------解决方案--------------------
后面跟的(文件说明)中,这个“(”是真实存在的是吧??
如果是的话,非批量的话:
- JScript code
alert(teststr.split('\\')[teststr.split('\\').length-1].split('(')[0])
------解决方案--------------------
------解决方案--------------------
//获取到test.rar
var filename=teststr.split('\\')[teststr.split('\\').length-1].split('(')[0]
//获取到文件扩展名 rar
var extension=filename.split('.')[1]
------解决方案--------------------
var testArr=teststr.split(.);
var typeNameStr=testArr[testArr.length-1];
var typeName=typeNameStr.substring(0,typeNameStr.length-13);
或
var testArr=teststr.split(.);
var typeNameStr=testArr[testArr.length-1];
var typeName=typeNameStr.split('(')[0];
不需要正则,直接拆分截取字符串貌似就可以了