Как мне разобрать контент с регулярным выражением, используя jQuery? - PullRequest
0 голосов
/ 15 июня 2009

Я пытаюсь использовать jQuery, чтобы разбить данные прямого восхождения и склонения на их составляющие (часы, минуты и секунды) и (градусы, минуты-минуты и секунды-секунды) соответственно из строки и сохранить их в переменных как числа. Например:

$dec = "-35:48:00" -> $dec_d = -35, $dec_m = 48, $dec_s = 00

На самом деле, данные находятся в ячейке (с определенным классом ('ra')) в таблице. В настоящее время я получил это далеко:

var $dec = $(this).find(".ra").html();

Это дает мне склонение как строку, но я не могу понять, как разобрать эту строку. Я выяснил регулярное выражение (-|)+\d+ (это дает мне -35 из -35: 48: 00), чтобы получить первую часть. Как я могу использовать это в сочетании с моим кодом выше?

Ответы [ 2 ]

4 голосов
/ 15 июня 2009

Это должно сделать это:

var dec = '-35:48:00';
var parts = dec.split(':');

parts[0] тогда будет -35, parts[1] будет 48, а parts[2] будет 00

Вы можете запустить их через parseInt(parts[x], 0), если хотите, чтобы в строках были целые числа:

var dec_d = parseInt(parts[0], 10);
var dec_m = parseInt(parts[1], 10);
var dec_s = parseInt(parts[2], 10);

Я должен отметить, что это действительно не имеет ничего общего с jQuery и является проблемой Javascript (по крайней мере, после извлечения значений из HTML-документа). Практика префикса переменной с $ обычно делается для означает, что переменная содержит коллекцию jQuery. Поскольку в этой ситуации он содержит HTML, он немного вводит в заблуждение

1 голос
/ 15 июня 2009

Использовать String.match ()

$dec = "-35:48:00";
matches = $dec.match(/-*[0-9]+/g);
for (i=0;i<matches.length;i++){
  alert(matches[i]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...