Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Удалить часть строки(с меня баланс :) (https://javascript.ru/forum/misc/43413-udalit-chast-stroki-s-menya-balans.html)

ksa 04.12.2013 14:38

Цитата:

Сообщение от Boomerml
Теперь даже не знаю что делать
...
пополам

Не мелочись... :D

Boomerml 04.12.2013 14:44

Цитата:

Сообщение от рони (Сообщение 284492)
var str = '(#24174#||#22301#||#22298#||#22303#) && #14827# && #14543#'
   reg = /(^|[^#]+)\(.*?\)$|\(.*?\)[^#]+/
   str = str.replace(reg,'');
   alert(str);
   str = '#144357# && #14827# && (#24174#||#22301#||#22298#)';
   str = str.replace(reg,'');
   alert(str);
   str = '(#24174#||#22301#||#22298#||#22303#)';
   str = str.replace(reg,'');
   alert(str);

Всё таки все достанется тебе!
щюпал код дальше
ksa спасибо, но все отдам рони :)
было ещё одно разногласие

str = '#14827# && (#24174#||#22301#||#22298#||#22303#) && #13002#';


вывод ksa '#13002##14827# && (#24174#||#22301#||#22298#||#22303#)'
а нужно:
вывод рони '#13002# && (#24174#||#22301#||#22298#||#22303#) && #14827#'

Обоим ещё раз человеческое спасибо) рони жди прибавление :)

ksa 04.12.2013 14:59

Цитата:

Сообщение от Boomerml
все отдам рони

Ясно... :D

Boomerml 05.12.2013 09:47

Появилась ещё задача...

str = '#14827# && (#24174#||#22301#||#22298#||#22303#) && #13002#';

Нужно забрать то что в скобках в переменную к примеру в переменную tt чтоб был результат.. (не пинайте если вопрос чайника :)
alert(tt);// #24174#||#22301#||#22298#||#22303#

Ещё мне нужно условие присутствия скобок... правильно я понимаю нужна функци
indexOf('(')

рони 05.12.2013 10:14

Boomerml,
var str = '#14827# && (#24174#||#22301#||#22298#||#22303#) && #13002#',
    tt = str.match(/\((.*?)\)/);
    tt = tt ? tt[1] : '';
    alert(tt)

Arramis 05.12.2013 11:51

оцените мой вариант без регулярок плиз

var str1 = '(#24174#||#22301#||#22298#||#22303#) && #14827# && #14543#',

	str2 = '#144357# && #14827# && (#24174#||#22301#||#22298#)';
	
	result1 = str1.slice( str1.indexOf('&&') ).replace('&&', '');
	
	result2 = str2.slice( str2.indexOf(str2[0] || '#'), str2.indexOf('(') - 4 );
   	
    alert(result1);
	
    alert(result2);

рони 05.12.2013 12:03

Arramis,
а кто будет определять это строка вида str1 или str2 и ещё какая?

Arramis 05.12.2013 12:18

Цитата:

Сообщение от рони (Сообщение 284674)
Arramis,
а кто будет определять это строка вида str1 или str2 и ещё какая?

насколько я понял, исходя из формулировки задачи вид строки не нужно проверять, разве нет ? помоему мой вариант сработает для любых строк вида str1 и str2.

рони 05.12.2013 12:29

Цитата:

Сообщение от Arramis
мой вариант сработает для любых строк вида str1 и str2.

:-?
var str2 = '(#24174#||#22301#||#22298#||#22303#) && #14827# && #14543#',
	result2 = str2.slice( str2.indexOf(str2[0] || '#'), str2.indexOf('(') - 4 );
    alert(result2);

Arramis 05.12.2013 12:33

Цитата:

Сообщение от рони (Сообщение 284677)
:-?
var str2 = '(#24174#||#22301#||#22298#||#22303#) && #14827# && #14543#',
	result2 = str2.slice( str2.indexOf(str2[0] || '#'), str2.indexOf('(') - 4 );
    alert(result2);

ну окей окей. Типа без регулярок никак чтоли ?


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