Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Удаление лишних слэшей


Автор: Akonkagva 28.9.2008, 11:21
Создал скрипт который переводит из кириллицы в латиницу но при этом у получившейся строки иногда бывает слишком много слэшей.
Пример : toljko__neponjatno__pochemu_romanax_rus
Var stroka_for_web - Переменная в которой храниться данная строка 
Теперь вопрос как проще всего убрать лишние слэши
В идеале : toljko_neponjatno_pochemu_romanax_rus

Автор: Ockonal 28.9.2008, 12:29
Ты покажи реализацию ф-ции  smile 

Автор: yurik_l 28.9.2008, 14:29
Akonkagva, слэш это: http://ru.wikipedia.org/wiki/Косая_черта

Код

var stroka_for_web = "toljko__neponjatno__pochemu_romanax_rus";
stroka_for_web = stroka_for_web.replace(/_+/g, "_");
alert(stroka_for_web);

Автор: Michael.de 28.9.2008, 15:17
Akonkagva, это не слэш, а знак подчёркивания. Вот слэш: "/", а вот бэкслэш: "\". Посмотри названия http://www.lesson1.ru/handbook/keyboard.html
Порезать можно RegExpами или например так:
Код

<html>
<head>
<script type='text/javascript'>
function eraseUnderscore(str){
 var i, arr=new Array();
 for (i=1; i<str.length; i++) if (str.charAt(i-1)=='_' && str.charAt(i)=='_') arr.push(i);
 for (i=arr.length-1; i>-1; i--) str=str.substring(0,arr[i]-1)+str.substring(arr[i]);
 alert(str); // test ;)
}
</script>
<body onload="eraseUnderscore('toljko__neponjatno___pochemu_romanax_____rus');">
</body>
</head>
</html>
... хотя конечно лучше изначальную ф-цию корректно написать smile

Автор: Akonkagva 28.9.2008, 16:14
Огромное спасибо за помощь всё пошло !
 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)