Показать сообщение отдельно
  #1 (permalink)  
Старый 02.04.2018, 08:31
Профессор
Отправить личное сообщение для Artur_Hopf Посмотреть профиль Найти все сообщения от Artur_Hopf
 
Регистрация: 13.03.2018
Сообщений: 278

Получение текста между двумя одинаковыми символами
Добрый день, помогите разобраться как правильно выдернуть нужное из текста.
Есть массив с нужным текстом:
var arr = ['пчелка жопка вес:0,02:кг', 'одуванчик тараканчик вес:0,0001:кг', 'блошка махнушка вес :0,00001:кг'];

Нужно вытянуть текст между ':тест:'

Конкретно строку можно вытянуть так:

alert(getSubStr('пчелка жопка вес:0,02:кг', ':'));

function getSubStr(str, delim) {
    var a = str.indexOf(delim);
    if (a == -1)
       return '';
    var b = str.indexOf(delim, a+1);
    if (b == -1)
       return '';
    return str.substr(a+1, b-a-1);
}

А как весь массив вытянуть таким образом?

Пробовал так, но где то ошибся, выходит только первая строка:
var arr = ['пчелка жопка вес:0,02:кг', 'одуванчик тараканчик вес:0,0001:кг', 'блошка махнушка вес :0,00001:кг'];

alert(getSubStr(arr, ':'));

function getSubStr(str, delim) {
      for( var i = 0; i < str.length; ++i ){
           var a = str[i].indexOf(delim);
           if (a == -1)
              return '';
           var b = str[i].indexOf(delim, a+1);
           if (b == -1)
             return '';
           return str[i].substr(a+1, b-a-1);
      }
};

Последний раз редактировалось Artur_Hopf, 02.04.2018 в 08:33.
Ответить с цитированием