2015-09-04 5 views
0

Я искал способ найти символы перед строкой в ​​JS, и я нашел это: String before character, но страница, в которой я пытаюсь извлечь информацию, не совсем так, это более таблица каждая линия название и количествоПолучить все числа перед строкой

Пример:

FOO  55 Thingy 
BAR 105 Thingy 
FOOBAR 5 Thingy 

Я хотел бы знать, если есть способ, чтобы сумма всех Thingy, зная, что все <tr> теги в a <table> - это не идентификатор, а имя класса.

Как я могу получить эту сумму и количество членов в сумме?

+1

Вы можете использовать регулярное выражение, чтобы найти все вхождения числа, за которым следует «Thingy». Вы можете узнать о регулярном выражении здесь: http://www.regular-expressions.info/, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions * edit: * Похоже, вы на самом деле не работаете с открытым текстом? –

+0

Является ли это одной строкой, которая похожа на ваш пример или есть какая-либо читаемая структура таблицы? – Wikunia

ответ

0

Вы можете использовать регулярные выражения, чтобы заменить все пробелы в строке, как это:

string = string.replace(/\s\s+/g, ' '); 

Затем разделить строку и получить массив, как это и получить второй индекс (число):

string = parseInt(string.split(' ')[1]); 
+1

Пример явно не начинается с числа. –

0

Ниже будет вам номер из этих строк:

parseInt("FOO  55 Thingy".replace(/[^0-9]/g, "")); //return 55 
parseInt("BAR 105 Thingy".replace(/[^0-9]/g, "")); //return 105 
parseInt("FOOBAR 5 Thingy".replace(/[^0-9]/g, "")); //return 5 

Так что, если у вас есть массив из этих строк, вы должны иметь возможность зацикливаться на них с помощью такого вида компиляции regex/parseInt.

Смежные вопросы