In questa lezione propongo dei semplicissimi esercizi sulle stringhe in JavaScript, al fine di approfondire tutti i metodi e le proprietà precedentemente studiate.

Esercizi sulle stringhe in JavaScript – primo esercizio

Creare un programma che cerchi in una frase la sotto-stringa composta dalle parole coding e creativoo. Se trova entrambe le parole restituisce la frase, altrimenti stampa come risultato parole non trovate.

Innanzitutto memorizziamo in una variabile una stringa:


var str = "Fare coding creativo è bello";

Dopo utilizziamo il metodo indexOf che ricordiamo restituisce -1 se non trova una stringa, altrimenti restituisce la posizione di inizio della stringa.


var codingIndex = str.indexOf('coding');
console.log(codingIndex);
var creativoIndex = str.indexOf('creativo');
console.log(creativoIndex);

Quindi se i due indici sono diversi da -1 stampiamo in console la frase completa, altrimenti stampiamo parole non trovate:


if (codingIndex != -1 && creativoIndex != -1) {  
  console.log(str);
 } else {
  console.log('parole non trovate');
 }

Se utilizziamo le funzioni in JavaScript abbiamo il vantaggio di riutilizzare il codice su più stringhe.

Ecco dunque una possibile implementazione nella quale prendiamo due frasi diverse a cui applicheremo la funzione cerca che prende come argomento una stringa:


var frase1 = 'Fare coding creativo è bello';
var frase2 ='Oggi splende il sole';

var risultato = cerca(frase1);
console.log(risultato);
var risultato2 = cerca(frase2);
console.log(risultato2);

function cerca(stringa){
  var codingIndex = stringa.indexOf('coding');
  var creativoIndex = stringa.indexOf('creativo');  
  
  if (codingIndex != -1 && creativoIndex != -1) {  
    return stringa ;
   } else {
    return 'la stringa non è presente';
   }
}

Esercizi sulle stringhe in JavaScript – secondo esercizio

Prendere in input due semplici stringhe che contengono una sola parola, dopo restituire le due stringhe concatenate, scambiando i primi due caratteri di ciascuna stringa.

Controlliamo che le stringhe abbiano almeno 2 caratteri, visualizzando un messaggio di errore nel momento in cui non li hanno. Per questo scopo utilizziamo la proprietà length di JavaScript sulle stringhe.

Altrimenti sostituiamo le seconde lettere di ciascuna parola, utilizzando i metodi slide e substring sulle stringhe.


var parola1 = 'Nanno';
var parola2 = 'Coro';

if(parola1.length < 3 || parola1.length < 3 ) {
  console.log('attenzione le stringhe inserite non sono più lunghe di 2 caratteri');  
} else {
  var stringa1 = parola1.slice(0, 1) + parola2.slice(1,2) + parola1.substring(2);
  var stringa2 = parola2.slice(0, 1) + parola1.slice(1,2) + parola2.substring(2);
  var stringaUnita = stringa2 + ' ' + stringa1;
  console.log(stringaUnita);
}

Anche in questo caso possiamo utilizzare una funzione per richiamarla più volte. Dunque creo una funzione changeLetter che prende come argomenti due parametri, p1 e p2.


function changeLetter(p1,p2){
  if(p1.length < 3 || p2.length < 3 ) {
    return 'attenzione le stringhe inserite non sono più lunghe di 2 caratteri';  
  } else {
    var stringa1 = p1.slice(0, 1) + p2.slice(1,2) + p1.substring(2);
    var stringa2 = p2.slice(0, 1) + p1.slice(1,2) + p2.substring(2);
    return stringaUnita = stringa2 + ' ' + stringa1;
  }
}

Dopo richiamo la stessa funzione due volte con parole diverse.


var parola1 = 'Nanno';
var parola2 = 'Coro';

var risultato = changeLetter(parola1,parola2);
console.log(risultato);

var parola3 = 'Caro';
var parola4 = 'Remo';

var risultato2 = changeLetter(parola3,parola4);
console.log(risultato2);

Si potrebbe generare una funzione specificando anche la posizione dei caratteri da cambiare.

Conclusione

In questa lezione abbiamo svolto alcuni semplici esercizi sulle stringhe in JavaScript, nelle prossime lezioni non mancheranno tanti altri esempi.

Alcuni link utili

Indice tutorial JavaScript

Introduzione al tutorial JavaScript

Il linguaggio JavaScript

Come utilizzare JavaScript alert

Utilizzare JavaScript prompt

Variabili in JavaScript

Gioco indovina numero in JavaScript

Gioco della morra cinese in JavaScript

Semplice quiz utilizzando gli array

Come realizzare il gioco dei dadi online