2014-09-20 133 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));

相關問題