怎么同时替换行首和行尾的字符?

我想把"/aaa.html"这样的字符串替换成"aaa".
我用了下面这样的方法:

'/aaa.html'.replace(/^\/|\.html$/,'') 

但是可能由于 "|"这个数量词的原因只有行首的"/"被替换掉了,怎么改进才能同时把行首的"/"和行尾的".html"替换掉呢?

阅读 4.2k
5 个回答

加个g就OK了,g是global的意思,全局替换

'/aaa.html'.replace(/^\/|\.html$/g,'')

一次做不了,可以做两次

'/aaa.html'.replace(/^\//,'').replace(/\.html/,'')
'/aaa.html'.replace(/^\/([^.]*).html/,'$1');
'/aaa.html'.replace(/^\/|\.html$/g,'')

i 忽略大小写
g 查找所有结果(不加g,只替换一次)

新手上路,请多包涵
'/aaa.html'.match(/^\/(.*)\.html$/)[1]

替换不行 可以用如上捕获

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题