Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Метод replace (https://javascript.ru/forum/events/28049-metod-replace.html)

cyber 05.05.2012 18:07

Метод replace
 
помогите с методом replace
есть строка для нее используется метод replace и нужно чтоб строка заканчивалась пробелом , т.е надо вырезать последние слово в строке до пробела .
пробывал так но не работает
findEndSymols.replace(new RegExp(/\s(([A-Za-zА-Яа-я0-9])*)$/ ))

помогите пожалуста

Раед 05.05.2012 18:35

findEndSymols = 'это моя строка для теста, IT ALSO HAS ENGLISH WORDS. Начнём';
findEndSymols = findEndSymols.replace(/(\s+[a-zа-я0-9ё]+)(?=\s*$)/i,' ');
alert(findEndSymols);

DreamTheater 05.05.2012 18:44

findEndSymols = 'это моя строка для теста, IT ALSO HAS ENGLISH WORDS. Начнём';
findEndSymols = findEndSymols.replace(/[^\s]+$/,'');
alert(findEndSymols);

Так проще :)

Раед 05.05.2012 18:58

Цитата:

Сообщение от DreamTheater
Так проще

И непонятней. Можете пояснить, как эта рега вообще находит символы?

cyber 05.05.2012 19:09

Цитата:

Сообщение от Раед (Сообщение 172855)
И непонятней. Можете пояснить, как эта рега вообще находит символы?

ага понял, она ищет пробел с конца строки.
спс за помощь

Раед 05.05.2012 19:12

Цитата:

Сообщение от cyber
она ищет пробел с конца строки

Что пробел ищет, это ясно, а слово то она как находит?

cyber 05.05.2012 19:14

не один из вариантов не работает в моем скрипте=(
вот так использую
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);
	
	}

skymanrm 05.05.2012 20:09

Цитата:

Сообщение от Раед
Сообщение от cyber
она ищет пробел с конца строки
Что пробел ищет, это ясно, а слово то она как находит?

А что непонятного?
[^\s]+ - любое кол-во символов кроме пробелом, табов и т.п. )

Раед 05.05.2012 20:33

Цитата:

Сообщение от skymanrm
[^\s]+ - любое кол-во символов кроме пробелом, табов и т.п. )

Что-то заклинило, забыл про значение символа ^ в квадратных скобках

melky 05.05.2012 22:45

Цитата:

Сообщение от DreamTheater (Сообщение 172854)
findEndSymols = 'это моя строка для теста, IT ALSO HAS ENGLISH WORDS. Начнём';
findEndSymols = findEndSymols.replace(/[^\s]+$/,'');
alert(findEndSymols);

Так проще :)

findEndSymols = 'эге - гей!!';
findEndSymols = findEndSymols.replace(/[^\s]+$/,'');
alert(findEndSymols);


Часовой пояс GMT +3, время: 19:18.