实际项目中,文件上传时,在文件名后面拼了13位时间戳,但是在显示的时候,要求只显示文件名,把后面13位的时间戳去掉。
例如:a='abc1234567890',怎么去掉后面固定的10位,只保留前面abc
实际项目中,文件上传时,在文件名后面拼了13位时间戳,但是在显示的时候,要求只显示文件名,把后面13位的时间戳去掉。
例如:a='abc1234567890',怎么去掉后面固定的10位,只保留前面abc
没有额外条件的话没法处理,文件名本身结尾就带数字怎么办?
abc1111234567890
,你说这个时间戳到底是 1111234567890
、111234567890
、11234567890
还是 1234567890
呢?
要么就得有隐式的条件,即认为时间戳只可能是 13 位(看起来你们用的是毫秒级的),13 位是从 2001-09-09 09:46:40 起、到 2286-11-21 01:46:39 为止,一般情况下也够满足了。
那简单的字符串截断就好了,都用不上正则:
let str = 'abc11111636954398000';
let res = str.substring(0, str.length - 13); // 'abc1111'
正则也行:
let str = 'abc11111636954398000';
let res = str.replace(/(\w*)\d{13}$/, '$1');
P.S. 题目里咋一会儿 13 位、一会儿 10 位?
13 回答13k 阅读
7 回答2.2k 阅读
5 回答1.5k 阅读
3 回答1.3k 阅读✓ 已解决
5 回答1.7k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
这个简单,字符串反向截取。