lunedì 23 settembre 2013

Estrarre una sottostringa in JavaScript

Problema

Hai una stringa da cui vuoi estrarre una porzione delimitata da < e >.

Soluzione

Utilizzando il metodo indexOf puoi recuperare l'indice del carattere < e quello del carattere >. Poi puoi passare questi due indici al metodo substring per estrarre la stringa.

var frase = "Sai che 4 > 3? Queste sono le <cose che sto scrivendo> in questa frase."

var inizio = frase.indexOf('<');
var fine = frase.indexOf('>', inizio+1);

var extract = frase.substring(inizio+1, fine);

Discussione

La porzione di stringa che vogliamo estrarre è delimitata dai caratteri < >. Nella prima ricerca il metodo indexOf è utilizzato senza il secondo parametro. Nella seconda ricerca invece, il secondo parametro (che denota l'indice da cui comincia la ricerca) è necessario, altrimenti il metodo avrebbe restituito l'indice del primo >.

Una volta recuperati gli indici dell'inizio e della fine della sottostringa, utilizziamo il metodo substring per l'estrazione. Il primo parametro è l'indice del primo carattere da estrarre, il secondo parametro rappresenta l'ultimo.

Nessun commento :

Posta un commento