БлогNot. Javascript: переворачиваем строки

Javascript: переворачиваем строки

На яваскрипте легко и приятно делать любой разбор строк, а не только удаление лишних разделителей. Брошу для памяти три функции, хорошо иллюстрирующие подход к разработке на основе регулярных выражений и стандартных методов языка для работы с массивами и строками.

Функции с именами на "reverse" выполняют следующие задачи:

  • переворот всей строки;
  • переворот каждого слова в строке без изменения порядка слов;
  • переворот порядка слов в строке, сами слова не меняются.

Входная строка предварительно числится от лишних разделителей функцией с именем alltrim. Вот вывод примера, ниже - его код, который можно выполнить, сохранив в файл типа .html

<div id="reverseStringDiv"></div>
<script type="text/javascript">
 function alltrim(p) {
  return p.replace (/\s+/g, " ").replace(/(^\s*)|(\s*)$/g, '');
 }

 function reverseString (p) { return alltrim(p).split('').reverse().join(''); }

 function reverseEveryWordInString (p) {
  return alltrim(p).split(' ').map(function (x) {
        return x.split('').reverse().join('');
  }).join(' ');
 }

 function reverseWordOrderInString (p) { 
  return alltrim(p).split(' ').reverse().join(' ');
 }

 var s = "\t   Строка для   теста    reverse-функций  "; //Есть лишние разделители в строке
 var div = document.getElementById ('reverseStringDiv');
 div.innerHTML = 'Исходная строка: '+ s + '<br>';
 div.innerHTML += 'Функция reverseString: ' + reverseString(s) + '<br>';
 div.innerHTML += 'Функция reverseEveryWordInString: ' + reverseEveryWordInString(s) + '<br>';
 div.innerHTML += 'Функция reverseWordOrderInString: ' + reverseWordOrderInString(s);
</script>
<noscript>Нужен включённый Javascript для работы примера</noscript>

28.10.2017, 20:04 [3446 просмотров]


теги: textprocessing javascript памятка

К этой статье пока нет комментариев, Ваш будет первым