7

我想使用replace()将/Admin/ListOfMovies变成_Admin_ListOfMovies

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

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

感谢您的帮助。

4

4 回答 4

25

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

var $id = id.replace(/\//g, '_');
于 2013-08-07T01:00:02.693 回答
7

我讨厌javascript替换,因为它总是需要一个正则表达式。尝试这个

var $id=id.split("/").join("_");
于 2013-08-07T01:00:28.713 回答
2

如果您不想使用将对字符串执行两次替换功能的全局标志,您可以使用更具体的方法,并且只替换一次;了解其他情况也很有用。

var $id = id.replace(/\/(\w+)\/(\w+)/, '_$1_$2');
于 2013-08-07T01:19:42.243 回答
0
function strReplace( str ) {
if( typeof str === 'string' ) {
    return text.replace( /[\/]/g, function( match, pos, originalText ) {
        if( match === '/' ){
            return '_';
        }
    });
}
return '';
}

console.log( strReplace( /Admin/ListOfMovies ) );
于 2013-08-07T01:56:36.753 回答