2012-04-04 3 views
2

Я очень новичок в регулярных выражениях и вам нужно разбить некоторые запятые. Я пытаюсь превратить Fri, 6 апреля 2012 г. в Пт, 6 апреля 2012 г.Регулярные выражения в js .replace()

Любые идеи?
Следующий код. EDATE Пт ,, Апрель, 6, 2012

eDate = edDate4.replace(/,+/g, ", ").replace(/^,/, "").replace(/,$/, "").split(","); 

Возвращается Пт, 6 апреля 2012 года

Спасибо Juan за вашу помощь! Когда я изменил его на

eDate = edDate4.replace(",,", ", ").replace(",,", ", "); 

Я получил Пт, 6 апреля 2012

Спасибо так много.

+0

В чем проблема с вашим текущим кодом? – hugomg

+0

Проблема в том, что мне нужно, чтобы снять вторую запятую и добавить пробел и добавить пробел после 6, , который он не делает. – user1188406

+0

где вы получаете плохо отформатированную дату в первую очередь? может быть, это должно произойти, когда происходит ваше изменение, а не после факта. – jbabey

ответ

2

.replace(/,{2,}/g, ", ").replace(/,(?!)/g, " ")

В вашем конкретном примере вы можете сделать еще проще .replace(/,(?!,)/g, " "), но он заменит ",,," в ",, ", не ", "

+0

Ничего себе, это сделал трюк. Спасибо огромное! – user1188406

0

немного странным образом вокруг него, но я бы заменить все запятая с пробелом , то в любом месте, где два пробела заменяются запятой. Немного так

var edDate4 = "Fri,,April,6,,2012"​; 
var eDate = edDate4.replace(/,/g, " ")​​​​​​​​.replace(/\s\s/g, ", "); 
alert(eDate) //Gives "Fri, April 6, 2012" 
Смежные вопросы