Может быть, этот подход будет лучшим для такой цели:
var a = line.match(/([^:\s]+)\s*:\s*(.*)/);
var key = a[1];
var val = a[2];
Таким образом, вы можете использовать таблицы в ваших файлах конфигурации / данных такой структуры, а также не беспокоиться о пробелах до или после вашего имени-значитель-разделитель ':'
.
Или вы можете использовать примитивные и быстрые строковые функции indexOf
и substr
для достижения вашей цели, как мне кажется, самым быстрым способом (по процессору и памяти)
for ( ... line ... ) {
var delimPos = line.indexOf(':');
if (delimPos <= 0) {
continue; // Something wrong with this "line"
}
var key = line.substr(0, delimPos).trim();
var val = line.substr(delimPos + 1).trim();
// Do all you need with this key: val
}