javascript - 求助js正则表达式替换
PHPz
PHPz 2017-04-11 11:00:45
[JavaScript讨论组]

我有这样一个字符串:
/233/ziyuanku/Screenshot_2014-09-03-16-11-45.png
我想把前面的233替换掉,只保留后面的路径,即:/ziyuanku/Screenshot_2014-09-03-16-11-45.png

所有这样的字符串都是/开头,
之后接一个不定长数字id,
之后是路径名/abc/def/ghi.txt,可能会包含空格,也可能会有类似纯数字的长串,比如
/233/ziyuanku/5695446/my.png
这样

正则已经写出来了
'/\d+(.*)'

但是不知道用js如何做匹配和替换

PHPz
PHPz

学习是最好的投资!

全部回复(2)
伊谢尔伦
str.replace(/^\/\d+/, '')

注意, 这并不改变str本身, 你可以str = str.replace(...).

\/是转义字串的/, 因为js的正则对象是以/.../来声明的.

补充内容

s.replace(/\/[a-zA-Z0-9_-]+\.png$/, '')

为防你再问:

  • 如果还有别的后缀, 就改png(png | jpeg | gif)

  • 如果文件名还有别的特殊字符, 就加在[...]里面的最后

提醒, 这里是让你执行两次replace, 可写成方法链.

巴扎黑

替换的时候要注意楼上说的坑。replace方法不会改变字符串本身

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号