webForumDet fria alternativet

Regulärt utryck, ersätta upprepade "strängar"

JavaScript

5 svar · 345 visningar · startad av Erik Juhlin

Medlem sedan maj 200010 687 inlägg
Frågan#1

Hallå, jag hoppas någon kan hjälpa mig med detta. :)
Jag skulle behöva ett regulärt uttryck som tar en stor sträng och ersätter en viss sak som upprepas flera gånger så den saken bara skrivs en gång.

Väljer man att "Foo" ska vara "saken" så ska: ...Foo...FooFoo..FooFooFoo..Foo bli ...Foo...Foo..Foo..Foo.
Eller om man vill ha "\n<P>" så ska ...\n<P>\n<P>...\n<P>.. bli ...\n<P>...\n<P>... :)

Någon som kan hjälpa mig? :)

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

Medlem sedan juni 20008 205 inlägg
#2
function removeRepetitions(s, w){
	var reg = new RegExp("(" + w + ")+", "g");
	return s.replace(reg, w);
}

var text = "i'm a snafu guy in a snafusnafu world";
alert(removeRepetitions(text, "snafu"));

------------------
Vaddå HTLM design? Jag e UTVECKLARE för fan! /mrblonde

Medlem sedan maj 200010 687 inlägg
#3

Tack! :)

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

Medlem sedan maj 200010 687 inlägg
#4

Men om man vill att det ska vara case-insensitive...?

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

Medlem sedan juni 20004 308 inlägg
#5

Använd "i" för caseInsensitive;

var reg = new RegExp("(" + w + ")+", "gi");

------------------
/ J

Medlem sedan maj 200010 687 inlägg
#6

:)

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

254 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)