javascript replace()不会替换所有匹配的字符

javascript replace() is not replacing all the characters match

本文关键字:字符 替换 replace javascript      更新时间:2023-09-26

我想使用replace()/Admin/ListOfMovies转换为_Admin_ListOfMovies

var $id = id.replace('/', '_');

看起来它只是取代了第一个/。如何替换所有这些?

谢谢你的帮助。

使用带有g标志的正则表达式。

var $id = id.replace(/'//g, '_');

我讨厌javascript替换,因为它总是想要regex。试试这个

var $id=id.split("/").join("_");

如果你不想使用全局标志来对字符串执行两次替换函数,你可以使用这个更具体的方法,只替换一次;了解其他情况也很有用。

var $id = id.replace(/'/('w+)'/('w+)/, '_$1_$2');
function strReplace( str ) {
if( typeof str === 'string' ) {
    return text.replace( /['/]/g, function( match, pos, originalText ) {
        if( match === '/' ){
            return '_';
        }
    });
}
return '';
}
console.log( strReplace( /Admin/ListOfMovies ) );