Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подсчёт и проверка на определённые символы (https://javascript.ru/forum/misc/65662-podschjot-i-proverka-na-opredeljonnye-simvoly.html)

Win_D 01.11.2016 13:42

Подсчёт и проверка на определённые символы
 
Всем привет.

Есть переменная, в которую записывается значение (строка). Значение может содержать от 1 до 3 запятых. Хочу реализовать следующее:
  • Если в строке запятая одна, обрезается весь текст до запятой (вместе с ней)
  • Если запятых две, обрезается всё, что находится до второй запятой (с запятой включительно)
  • Если три - то убирается всё, что расположено до третьей запятой (запятая тоже убирается)

Например, в строке
text = 'Убираем текст, который до запятой';

должен остаться только текст "который до запятой". В другом случае
text = 'Всё, что находится до второй запятой, обрезаем';

должно выводиться только слово "обрезаем".

Подскажите, возможно ли реализовать подобную проверку? Если да, то как? Заранее огромное спасибо.

ksa 01.11.2016 13:48

Цитата:

Сообщение от Win_D
Если в строке запятая одна, обрезается весь текст до запятой (вместе с ней)
Если запятых две, обрезается всё, что находится до второй запятой (с запятой включительно)
Если три - то убирается всё, что расположено до третьей запятой (запятая тоже убирается)

Т.е. тебе нужно последнее "слово", если считать запятую разделителем?

Как вариант...
var text = 'Убираем текст, который до запятой';
var reg=/,([^,]*$)/;
alert(text.match(reg)[1]);
text = 'Всё, что находится до второй запятой, обрезаем';
alert(text.match(reg)[1]);

Win_D 01.11.2016 14:27

ksa, то, что надо, спасибо :) Не подскажешь, как указать условие: если запятая есть, выводим урезанный текст, в остальных случаях - обычный?

ksa 01.11.2016 14:50

Цитата:

Сообщение от Win_D
если запятая есть

Можно воспользоваться этим методом...
http://javascript.ru/string/indexof

Dilettante_Pro 01.11.2016 15:33

Поскольку обрезание идет по последней запятой, можно еще использовать lastIndexOf

Win_D 01.11.2016 15:50

Цитата:

Сообщение от ksa (Сообщение 433681)
Можно воспользоваться этим методом...
http://javascript.ru/string/indexof

Всё получилось, спасибо

Win_D 01.11.2016 15:50

Цитата:

Сообщение от Dilettante_Pro (Сообщение 433687)
Поскольку обрезание идет по последней запятой, можно еще использовать lastIndexOf

Да, так будет лучше, спасибо за совет


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