2014-09-20 177 views

回答

0
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); 
+0

这不提供问题的答案。要批评或要求作者澄清,在他们的帖子下留下评论 - 你总是可以评论你自己的帖子,一旦你有足够的[声誉](http://stackoverflow.com/help/whats-reputation),你会能够[评论任何帖子](http://stackoverflow.com/help/privileges/comment)。 – 2014-09-26 05:49:33

+0

为什么不呢?它交换字符串而不使用拆分。 – XtraSimplicity 2014-09-26 06:03:16

+0

@ XtraSimplicity:在一个很好的答案中,它需要解释你的代码和它为什么工作。 – Qiu 2014-09-26 06:09:42

0

这有什么错?:

var string = "text left - text right"; 
var newString = string.split("-").reverse().join(" - "); 
0

您可以使用String.replace()RegExp这个任务;

var swap = function(str) { 
 
    return str.replace(/(.*)(\s?\-\s?)(.*)/, '$3$2$1'); 
 
}; 
 

 
var str = 'Left - Right'; 
 
alert('Before is: ' + str); 
 
alert('After is: ' + swap(str)); 
 

 
str = 'Apples-Mangoes'; 
 
alert('Before is: ' + str); 
 
alert('After is: ' + swap(str));

相关问题