Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Inserire sottostringa Javascript

    Ciao a tutti.

    Avrei bisogno di inserire una sottostringa in una stringa già esistente con javascript.
    Ad esempio ho una stringa "Questo è il di HTML.it" e ci voglio mettere la sottostringa "forum" tra "il" e "di".

    Esiste un metodo che lo permette?

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,776
    Ciao, sì, in qualche modo è possibile ma la richiesta è formulata in maniera generale. Non si capisce dove sia quella stringa, se in una semplice variabile o in un contesto html; e con quale specifico criterio definisci il punto in cui inserire la sottostringa, se bisogna prendere in considerazione le due parole ("il" e "di") o se puoi specificare l'indice del carattere in cui eseguire l'inserimento.

    Potresti fornire maggiori dettagli?
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Sì, scusa non ho specificato bene.
    Prendiamo in esame delle stringhe semplici, ad esempio "cane scoiattolo lupo". Ora vorrei inserire nella posizione 4 la sottostringa " serpente" (notare lo spazio iniziale), in modo che risulti "cane serpente scoiattolo lupo". E' sottointeso che le stringhe sono in delle variabili.

    Spero di essere stato chiaro.

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,776
    Spero di essere stato chiaro.
    Non molto, mi sfugge il contesto per capire cosa meglio consigliarti.

    Ad ogni modo non è possibile farlo in un unico passaggio, cioè non esiste una funzione nativa che faccia questo con delle stringhe.

    Provo a consigliarti qualcosa.
    In sostanza, se ti serve una soluzione per un singolo uso, dovrai separare le due parti della stringa principale per poi riassemblarle inserendo la nuova stringa.
    Qui un esempio in base a quanto hai specificato:
    codice:
    var str =  "Questo è il di HTML.it";
    var output = str.slice(0, 4) + str + this.slice(4);
    console.log(str);
    console.log(output);
    Se però devi poter compiere questa operazione più volte, magari con diverse stringhe, può essere utile crearti una funzione personalizzata da poter usare dove e quando ti pare nel tuo script. Puoi trovare una soluzione qui: http://stackoverflow.com/questions/4...specific-index

    Non conosco il tuo livello di esperienza con JavaScript, ma queste sono comunque nozioni basilari, e mi pare di capire che a te serva in realtà utilizzare degli array (chiaramente potrei sbagliarmi). Lo deduco dall'ultimo tuo esempio perché stai trattando una stringa che presenta una serie di termini e vuoi manipolarla inserendone altri in mezzo, proprio come si farebbe con degli array. Ora, non so se sai utilizzare gli array o quantomeno se ne conosci l'esistenza, ma per l'ultimo tuo esempio sembrerebbe più plausibile utilizzare un sistema con degli array e, a quel punto, usare la funzione splice() per inserire nuove voci.

    Un esempio:
    codice:
    var arr =  ["cane","scoiattolo","lupo"];
    console.log(arr);
    arr.splice(1,0,"serpente");
    console.log(arr);
    Per meglio consigliarti bisognerebbe comunque capire quale sia il contesto e cosa vuoi ottenere esattamente.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Sì, l'idea era quella. Grazie dei consigli.
    Non riesco però a capire che contesto dovrei specificare: ho una stringa in una variabile e voglio inserire in mezzo a questa stringa una parola. Basta pensare alla classe string del C++ (non so se lo conosci), che mette a disposizione tutti i metodi possibili, tra cui, credo, la funzione insert(). Comunque grazie lo stesso dell'aiuto.

    Ciao.

  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,776
    Non riesco però a capire che contesto dovrei specificare:
    ..come si dice in cingalese, "nevermind"... lascia perdere.

    Basta pensare alla classe string del C++ (non so se lo conosci), che mette a disposizione tutti i metodi possibili, tra cui, credo, la funzione insert().
    Già, in JavaScript non credo ci sia qualcosa di analogo ma può essere fatto, appunto, con un qualche tagliacucci, usando altre funzioni disponibili per stringhe e/o array.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.