2015-06-17 2 views
1

Как разбить строку, содержащую | (труба) в качестве разделителя позволяет после каждых 3 труб?Как добавить символ новой строки каждые три символа в javascript

Я объясню лучше:

У меня есть строка, которая приводит к датам, что-то вроде этого:

Tuesday - 23-06-2015| Wednesday - 24-06-2015| Thursday - 25-06-2015| Friday - 26-06-2015| Monday - 29-06-2015| Tuesday - 30-06-2015| 

И я хотел бы добавить <br/> так, что у меня есть только три даты на той же линии, как это:

Tuesday - 23-06-2015| Wednesday - 24-06-2015| Thursday - 25-06-2015| 

Friday - 26-06-2015| Monday - 29-06-2015| Tuesday - 30-06-2015| 

Я нашел этот код для подсчета раз труба повторяется в строке:

var CustomerDatesSplitted = (customerDates.match(/\|/g) || []).length; 
console.log(CustomerDatesSplitted); //Logs 6, the right value 

и я нашел этот код, который необходимо определенное значение для вставки в регулярном выражении (в данном случае, добавляет новую строку после 10 charactes:

customerDates.match(/.{1,10}/g).join("<br/>"); 

, но я не знаю, лучший путь к сделайте его «динамическим», чтобы он проверял только трубы и делился после 3-го, 6-го, 9-го и так далее ...

Предложения?

+0

Я не очень понимаю downvote ... – Nick

+0

Ненужной downvote, так как вопрос был хорошо подготовлен, полные деталей и попытался код +1 – anubhava

ответ

4

Вы можете сделать:

str = str.replace(/((?:[^|]*\|){3})/g, '$1<br>'); 

RegEx Demo

+1

Спасибо , это сработало. – Nick

+2

anubhava - король регулярных выражений. – Andy