Javascript从字符串的开头和结尾删除特殊字符

时间:2014-03-26 14:38:07

标签: javascript regex

我需要在javascript中连字符串。字符串是一个网址(例如'/ home / about /').

我当前的正则表达式正在运行,但输出并不理想。

如果字符串的第一个/最后一个字符是特殊字符,则应将其删除,而不是更改为连字符。

示例:

    var string = '/home/about/';
    string.replace(/[^a-zA-Z0-9]/g, '-').toLowerCase(); 
    // Returns -home-about- but I need home-about

3 个答案:

答案 0 :(得分:7)

^\/在开始时表示/,在结尾表示\/$表示/。用管道连接它们以处理从末端移除的两个。

string = string.replace(/^\/|\/$/g, '').toLowerCase(); 

然后进行正则表达式操作:

string.replace(/[^a-zA-Z0-9]/g, '-').toLowerCase(); 

答案 1 :(得分:4)

你可以这样做:

var s="/home/about/";
s.match(/[^\/]+/g).join('-'); // home-about

答案 2 :(得分:0)

而不是替换使用查找组。

你会在哪里寻找一组前缀和后缀任何特殊字符的任何字符(仅限/或更多?)。

接下来连接' - '用那个新的字符串,你就完成了。