2014-09-20 2 views
0
text left - text right 

Как поменять местами справа налево с помощью jquery? str pos не так хорош, потому что parttern не всегда исправляется. Это может быть somethingleft-somethingrightобмен в javascript без разделения

+0

Почему бы просто не использовать раскол()? – ElGavilan

+0

@ user3522738, разделитель всегда будет '-' дефис? – Arvind

ответ

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). –

+0

Почему? Он заменяет строки без использования split. – XtraSimplicity

+0

@ XtraSimplicity: в хорошем ответе требуется объяснять ваш код и почему он работает. – Qiu

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

Смежные вопросы