Метод replace
помогите с методом replace
есть строка для нее используется метод replace и нужно чтоб строка заканчивалась пробелом , т.е надо вырезать последние слово в строке до пробела . пробывал так но не работает findEndSymols.replace(new RegExp(/\s(([A-Za-zА-Яа-я0-9])*)$/ )) помогите пожалуста |
findEndSymols = 'это моя строка для теста, IT ALSO HAS ENGLISH WORDS. Начнём'; findEndSymols = findEndSymols.replace(/(\s+[a-zа-я0-9ё]+)(?=\s*$)/i,' '); alert(findEndSymols); |
findEndSymols = 'это моя строка для теста, IT ALSO HAS ENGLISH WORDS. Начнём'; findEndSymols = findEndSymols.replace(/[^\s]+$/,''); alert(findEndSymols); Так проще :) |
Цитата:
|
Цитата:
спс за помощь |
Цитата:
|
не один из вариантов не работает в моем скрипте=(
вот так использую Text.VisibleText=function(TextPercent,StringLength,TextString){ var endLen, findEndSymols; endLen=(StringLength/100)*TextPercent; findEndSymols=TextString.slice(endLen); /* findEndSymols=findEndSymols.indexOf(" "); endLen=endLen+findEndSymols;//выризать начиная с пробела*/ findEndSymols = findEndSymols.replace(/[^\s]+$/,''); return findEndSymols; //return TextString.slice(0,endLen); } |
Цитата:
[^\s]+ - любое кол-во символов кроме пробелом, табов и т.п. ) |
Цитата:
|
Цитата:
findEndSymols = 'эге - гей!!'; findEndSymols = findEndSymols.replace(/[^\s]+$/,''); alert(findEndSymols); |
melky,
Не понял, а что не так? |
Цитата:
Цитата:
всё хорошо :) |
// [^\s] === \S findEndSymols = 'это моя строка для теста, IT ALSO HAS ENGLISH WORDS. Начнём'; findEndSymols = findEndSymols.replace(/\S+$/,' '); alert(findEndSymols); Цитата:
|
nerv_,
Вот только одна проблема с вашим регом и с регом DreamTheater findEndSymols = 'это моя строка для теста, IT ALSO HAS ENGLISH WORDS. Начнём '; findEndSymols = findEndSymols.replace(/\S+$/,' '); alert(findEndSymols); |
Цитата:
|
спс за ответы конечно ,но один из вариантов не работает правильно.
смотритен сами http://learn.javascript.ru/play/uhZTe зачем мне это нужно : я обрезаю переданную строку и что б она не заканчивалась на средине слова ищу пробел , но все предложенные вариант обрезают пол строки. |
cyber, думаю, для этих целей больше подойдет следующий алгоритм:
var text = "Legend of Grimrock — это ролевая игра от студии Almost Human Games, которая также выступила и издателем. Проект вышел 11 апреля и стал самым продаваемым в Steam на прошлой неделе, при этом разработчики говорят, затраты на ее разработку уже окупились."; var shortString = text.slice( 0, text.lastIndexOf( ' ', 50 ) ); // где 50 максимальная длинна строки alert( shortString ); |
кстати да как я сам не додумался=)
спс |
nerv_, зачем второй параметр lastIndexOf ?
|
melky, как зачем? Чтоб былО ) Установить нужную длину строки.
|
Цитата:
вот готовый вариант скрипта http://learn.javascript.ru/play/eZnUOb может кому то понадобится=) |
Часовой пояс GMT +3, время: 09:55. |