2015-08-05 3 views
1

Я хотел бы заменить все между символами ;# новой строкой (<br>). Как я могу сделать это в JavaScript?JavaScript заменить текст между двумя специальными символами

Пример:

Строка:

Beilagenteller - Смешанные овощи плиты; # 369; #Fischfilet мит Kräutersoße - филе рыбы, зелень соус; # 183; #Rinderroulade "Hausfrauen Art" , (S) Sosse - говядина с соусом оливковый

Результат:

Beilagenteller - смешанные овощи плиты
Fischfilet мит Kräutersoße - филе рыбы, зелень соус,
Rinderroulade "Hausfrauen Art", (S) Sosse - Говядина оливковый с соусом

+0

Mhhmmm .. Fischfilet mit Kräutersoße - такой вкусный вопрос :) –

ответ

2

Предполагая, что значение между ;# s всегда числовой , вы можете использовать регулярное выражение /;#\d*;#/g в replace() вызова на строку:

var input = 'Beilagenteller - Mixed vegetables plate;#369;#Fischfilet mit Kräutersoße - Fish fillet, herbs sauce,;#183;#Rinderroulade "Hausfrauen Art", (S) Soße - Beef olive with sauce'; 
 

 
var output = input.replace(/;#\d*;#/g, "<br>"); 
 

 
document.write(output);

Чтобы показать, что регулярное выражение делает, вот a visualisation:

Example

+0

Thaks, оба ответа работают: D –

+0

@NagyIstvan: Просто FYI: Это тактический этикет, чтобы принять рабочие ответы, которые были предоставлены в первую очередь. –

+0

yep .. вот почему я принял ответ Нила Вильяреаля, он избил вас на 1 минуту :) –

2

Вы можете попробовать это:

var str = "Beilagenteller - Mixed vegetables plate;#369;#Fischfilet mit Kräutersoße - Fish fillet, herbs sauce,;#183;#Rinderroulade \"Hausfrauen Art\", (S) Soße - Beef olive with sauce"; 

str = str.replace(/;#[0-9]*;#/g, "<br/>"); 

console.log(str); 
+0

Thaks, оба ответа работают: D –

0

Используйте ниже код

address="Beilagenteller - Mixed vegetables plate;#369;#Fischfilet mit Kräutersoße - Fish fillet, herbs sauce,;#183;#Rinderroulade 'Hausfrauen Art', (S) Soße - Beef olive with sauce" 



address= str.replace(/;#[0-9]*;#/g, "\n"); 
+0

Рискованный, особенно если вы идете с нежадным. Если у вас есть строка типа: «некоторый текст # 123; #here и # 234; # некоторый текст там», он может найти одно совпадение между первым и четвертым «#» –

+0

Чтобы сделать его неживым, добавьте знак вопроса после «*»: /#.*?#/ (править: по какой-то причине звезда не видна ... есть звезда между. и?) –