在字符串JavaScript中交换子串

时间:2014-07-17 19:56:01

标签: javascript jquery string

JavaScript或Jquery中是否有任何可以交换的函数' left'并且'对'我的字符串中的子串? 这意味着取代“正确”。与'左''并且'离开'与'对''但是使用多个.replace()函数不会这样做。非常感谢你。

3 个答案:

答案 0 :(得分:0)

var str = "leftright";
str = str.replace('right', 'temp').replace('left', 'right').replace('temp', 'left')
alert(str);

答案 1 :(得分:0)

使用正则表达式和占位符@Vivin提到:

s = "right left left left right";
s = s.replace(/right/g, 'x_X_x').replace(/left/g, 'right').replace(/x_X_x/g, 'left');

为您提供"left right right right left"

re = new Regex(tmpStr, "g");s.replace(re, 'blah');

等正则表达式中使用变量

答案 2 :(得分:0)

这就是你想要的:

String.prototype.subSwap = function(start, end){
    if(typeof end === 'number'){
        oStart = start;
        if(start > end){
            start = end;end = oStart;
        }
    }else{
        end = false;
    }
    var slices = [
        end !== false ? this.substring(end) : '',
        this.substring(start, end !== false ? end : undefined),
        this.substring(0,start)
    ]

    return slices.join('');
}

一旦你调用它,它将返回一个倒置的字符串。就这样称呼它:

alert('end middle start'.subSwap(3, 11));

小提琴:http://jsfiddle.net/Mw9XP/1/