как получить substr в обратную сторону ?
у меня есть текст и мне нужно получить его кусок , но я знаю позицию конца куска и его размер. как бы мне его получить.
вот типа такого text = '123456789'; alert(text.substr(4, 3)); чтоб вывод был не 567 , а 345 . |
|
text.substr(4-3, 3)=) Цитата:
|
поиск по форуму работает и гугл тоже
http://javascript.ru/forum/study/216...ut-stroku.html Да , потом вчитался в то что он хочет, хоть слова бы правильные использовал -получить участок строки , но уж точно не получить в обратную сторону Цитата:
|
Получаем подстроку предшествующую данной (той же длины) ,
Первый символ искомой подстроки и последний текущей, входят в обе последовательности <script type="text/javascript"> text = '123456789'; function PreSubStr(text,st0,Sublen){ alert('Исходная : \n\n'+text.substr(st0, Sublen)); var start = 1 + st0 - Sublen; if(start < 1-Sublen) return false; if(start < 0) return text.substr(0, 1 + st0 ) return text.substr(start,Sublen); } alert('Искомое: \n\n'+PreSubStr(text,4,3)) </script> <script type="text/javascript"> text = '123456789'; function PreSubStr(text,st0,Sublen){ alert('Исходная : \n\n'+text.substr(st0, Sublen)); var start = 1 + st0 - Sublen; if(start < 1-Sublen) return false; if(start < 0) return text.substr(0, 1 + st0 ); return text.substr(start,Sublen); } alert('Искомое: \n\n'+PreSubStr(text,1,3)) </script> |
Лол, получается я тоже его не понял.=)
Ну тогда так(зачем лишний раз вычислять длину?): String.prototype.rsubstr = function( pos , len){ return this.slice(-pos - len, -pos) } text = '123456789'; alert(text.substr(4, 3)); alert(text.rsubstr(4,3)) |
Aetae,
Да мну собственно максимум усилий на формулировку - код правил - как удалось выразить мысля |
Зачем поправиль, слющай, а?
Был же рабочий вариант, а сейчас просто подоогнанный под задачу: text = '123456789'; function PreSubStr(text,st0,Sublen){ var start = 1 + st0 - Sublen; if(start < 0) return false; return text.substr(start,Sublen); } alert('Должно быть: 567 \n\nРезультат: '+PreSubStr(text,2,3)) |
Хм...
Тогда имхо моя формулировка не верна ? Прост если подстрока к началу ближе её длины - то полного(а иногда и частичного результата - не вернуть) поставил false ==================================== Исправил возврат, если в наличии хоть кусок подстроки от начала |
а чем substring не угодил? у него же параметры
string.substring(from, to)в отличии от: string.substr(from, length) то есть простое: var text = '123456789'; var startAt = 4; // откуда начать var count = 3; // скока вырезать alert(text.substring( startAt + 1, startAt - count + 1 )); |
Цитата:
q = '123456789'; end = 4; lenght = 3; alert( q.substr(end-lenght, lenght ) ); // 234 а должно быть 345 |
Так и в примере devote ошибка :)
|
Цитата:
|
Цитата:
|
Цитата:
|
devote,
234 в результате, а надо 345 |
Цитата:
|
Цитата:
|
devote,
Пардон Тогда Maxmaxmахimus не очень! |
Цитата:
Цитата:
Цитата:
Вот что я до тебя хочу донести.. а уж кто и что там решил, это и так понятно.. Я лишь альтернативный пример привел. А не писал то что уже писали выше. |
Maxmaxmахimus,
:) Тут Вариант ответа - зависит - т где поставить запятушку Казнить нельзя помиловать.. Тут походу засомневался в свой интерпретации - Aetae походу прав |
охуеееть..
бурление говн в действии:blink: |
вот типа такого
text = '123456789'; end = 4; leng = 3; alert(text.substr(end, leng)); alert(text.substr(end-leng+1, leng)) |
Maxmaxmахimus,
а ты чего без матов жить не можешь? здесь вообще то не только взрослые люди присутствуют, но и дети есть.. Во вторых тебе никто не хамит, а лишь указывают на твою ошибку.. пусть даже и бональную.. И дело даже н в бональной ошибке, а в том что ты никогда не читаешь топики от начала и высказываешь свое решение, которое выше уже кто-то описал.. одним словом копипастишь, и тащишь славу на себя.. Не впервой за тобой подобное наблюдаю.. Дык вот вместо того что бы умничать, прошелся бы для начала по всему топику, посмотрел бы решения других.. а уж потом приводил бы свои примеры... Лично я привел альтернативный пример, и он никак не похож на другие, даже метод использую другой. А альтернативный пример не говорит о том что мы тут как ты говоришь быдлокодеры.. Альтернатива хороша для понимания и развития что бы человек мог знать что задачу решить можно любыми способами, а уж какой из них он выберет решать ему и тем кто сюда в будущем заглянет. |
Maxmaxmахimus,
у меня сын как то спросил - "па- что такое валейневалей" мну в ступоре час был пока не выяснил - чо он читал - Вот <b>Всё оказалось просто "волей - не волей"</b> |
Deff, простите за оффтоп, где он такое прочитал?
|
Цитата:
Волей-неволей |
Такой тут форум активный ))
вот самый нормальный вариант разумеется text = '123456789'; end = 4; leng = 3; alert(text.substr(end, leng)); alert(text.substr(end-leng+1, leng)) стыдно, что сам не увидел. это ж очевидно ( |
Мде, подведём итоги.
Изначальный пост автора: Цитата:
Автор выбрал первый вариант, на что я могу заключить: не дай бог заказчиков с такими тз.) |
Кароче я тоже лоханулся - валейневалей - иногда такое случаецо - интерпретация была первоначально понята неверно - хотя при 10-том прочтении очевидна и однозначна
|
жарко тут у вас :D
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 10:00. |