在javascript中交换而不拆分

在javascript中交换而不拆分,javascript,jquery,Javascript,Jquery,如何使用jquery从右向左交换?str pos不太好,因为零件不总是固定的。它可能是somethingleft somethingright怎么了 text left - text right var before = "text left - text right"; var separator = " - "; var regex = new RegExp("(.*)(" + separator + ")(.*)"); var replace = "$3$2$1"; var afte

如何使用jquery从右向左交换?str pos不太好,因为零件不总是固定的。它可能是
somethingleft somethingright

怎么了

text left - text right
var before = "text left - text right";

var separator = " - ";
var regex = new RegExp("(.*)(" + separator + ")(.*)");
var replace = "$3$2$1";

var after = before.replace(regex, replace);

document.write(after);

您可以使用
String.replace()
RegExp
执行此任务

var swap=函数(str){
返回str.replace(/(.*)(\s?\-\s?(.*)/,“$3$2$1”);
};
var str='左-右';
警报('Before is:'+str);
警报('is:'+掉期(str));
str=‘苹果芒果’;
警报('Before is:'+str);

警报('is:'+掉期(str))
为什么不直接使用split()?@user3522738,分隔符是否总是
-
连字符?这并不能回答这个问题。要评论或要求作者澄清,请在他们的帖子下方留下评论——你可以随时在自己的帖子上发表评论,一旦你有足够的评论,你就可以发表评论了。为什么不呢?它在不使用拆分的情况下交换字符串。@XtraSimplicity:在一个好的答案中,需要解释您的代码以及它为什么工作。@Qiu,也许;但这仍然是一个有效的答案。我不确定为什么Darko Z觉得它甚至不是一个答案。@XtraSimplicity这是一个自动评论,不幸的是,它最接近于“你的答案可能有效,也可能无效,但如果没有解释,它就没有多大用处”。
var string = "text left - text right";
var newString = string.split("-").reverse().join(" - ");