Går det på något sätt att kolla om ett reguljärt uttryck fanns? T.ex.
text = text.Replace(/(\n)?(halloj)(\n)?/ig, (("$1" != "")?"<br>":"")."$2".(("$3" != "")?"<br>":""));
OBS: Endast ett exempel. Detta skulle gå att göra mycket lättare annars. :)
2 svar · 195 visningar · startad av Nexus86
Går det på något sätt att kolla om ett reguljärt uttryck fanns? T.ex.
text = text.Replace(/(\n)?(halloj)(\n)?/ig, (("$1" != "")?"<br>":"")."$2".(("$3" != "")?"<br>":""));
OBS: Endast ett exempel. Detta skulle gå att göra mycket lättare annars. :)
If och else går bra:
<script type="text/javascript">
var text = "ojojoj\nhalloj\n ojojoj ojojoj\ntjena ojojoj";
text.match(/(\n)?(halloj)(\n)?/ig);
text = text.replace(/(\n)?halloj(\n)?/ig, ((RegExp.$1=="\n") ? "<br>" : "") + RegExp.$2 + ((RegExp.$3=="\n") ? "<br>" : ""));
document.write(text);
</script>
...men jag går bet när du ska göra en global search av det. match() använder jag eftersom replace() inte sparar träffarna någonstans, så vitt jag vet. T ex syftar alltså inte RegExp.$1 på första matchningen vid replace(), utan första matchningen vid match(). Om replace() sparar träffarna borde det lösa problemet med global search.
Ok.. Tack iaf! Men om det finns labels och goto i javascript så går det ju att fixa ändå. Det är bara att kolla efter en replace om man hittar en ny match, isåfall går man tillbaka till början om inte, går den vidare i koden. :)
Finns det kanske något sådant?