2012-07-04 3 views
4

У меня есть строка вроде этого.Javascript split remove ":" символ двоеточия

var a="1:2:3:"; 

Я хочу, чтобы разделить его с a.split(":"), чтобы удалить символ «:» двоеточие.

Я хочу, чтобы это как результат:

["1","2","3"] 

Но вместо того, чтобы результат a.split(":") это:

["1","2","3",""] 
+0

Split делает именно то, что следует из названия ... в этом случае она разделилась 3 и нуль. Удалите последний двоеточие – rlemon

ответ

10

Используйте этот метод обрезки для удаления двоеточия.

function TrimColon(text) 
{ 
    return text.toString().replace(/^(.*?):*$/, '$1'); 
} 

Тогда вы можете назвать это так:

TrimColon(a).split(":") 

Если вы хотите, чтобы вы могли, конечно, сделать TrimColon метод струна прототипа, что позволяет сделать что-то вроде этого:

a.TrimColon().split(":"); 

В случае, если вы хотите пояснить используемое регулярное выражение: http://bit.ly/Ol8lsX

+2

ради надежности. Я думаю, вы должны использовать replace (/ (^ :) | (: $)/g, ''), если строка равна ': 1: 2: 3:'. – valentinas

+0

@ valentinas - почему бы не ответить на этот вопрос? Это лучший вариант. – RobG

4

Перед разбором такой строки вы должны раздеться колонами с самого начала и конец строки:

a.replace(/(^:)|(:$)/g, '').split(":") 
Смежные вопросы