Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418

    [JAVA] String rimuovere carattere

    Ciao a tutti, come faccio a rimuovere un carattere all'interno di una variabile di tipo String?


    grazie
    -------------------------------------------------
    Il fumo nuoce gravemente alla salute

  2. #2
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao, prova con replace()
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  3. #3
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418
    Originariamente inviato da Angelo1974
    Ciao, prova con replace()
    voglio rimuoverlo.

    ad esempio


    Ciao da3me

    voglio poter rimuovere il carattere 3
    -------------------------------------------------
    Il fumo nuoce gravemente alla salute

  4. #4
    Fino a 5 minuti fa credevo che le stringhe in Java non si potessero modificare (secondo quanto c'era scritto sul mio AUTOREVOLE testo del cavolo....)

    codice:
    class prova {
      
    
      public static void main (String [] args) {
        String a = "ciao";
        a = removeCh(a,4);
        System.out.println(a);
      }
    
    
      public static String removeCh (String s , int index) {
        if ((index > s.length()-1) || (index < 0))  return null;
        String c = s.substring(0,index) + s.substring(index+1 , s.length());
        return c;
      }
    }
    un'annotazione. E' obbligatorio farlo cosi': non puoi farlo x esempio nel seguente modo (che verrebbe più naturale) :

    codice:
    String a = "...";
    a.removeChar(3);
    perchè la classe String è final e non puo' essere estesa.

    zao!


  5. #5
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418
    Originariamente inviato da Storm Sentry
    Fino a 5 minuti fa credevo che le stringhe in Java non si potessero modificare (secondo quanto c'era scritto sul mio AUTOREVOLE testo del cavolo....)

    codice:
    class prova {
      
    
      public static void main (String [] args) {
        String a = "ciao";
        a = removeCh(a,4);
        System.out.println(a);
      }
    
    
      public static String removeCh (String s , int index) {
        if ((index > s.length()-1) || (index < 0))  return null;
        String c = s.substring(0,index) + s.substring(index+1 , s.length());
        return c;
      }
    }
    un'annotazione. E' obbligatorio farlo cosi': non puoi farlo x esempio nel seguente modo (che verrebbe più naturale) :

    codice:
    String a = "...";
    a.removeChar(3);
    perchè la classe String è final e non puo' essere estesa.

    zao!

    ok, grazie mille

    però così elimino un carattere ad esempio tutti e quattro, ma un singolo carattere?
    -------------------------------------------------
    Il fumo nuoce gravemente alla salute

  6. #6
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Perchè se fai replace(tuo_car,'/u0000'[ oppure '\u0000' ]); non va?Togli tutti i caratteri; altrimenti per solo il primo incontrato:
    replaceFirst("a", "");
    penso che cos' vada in quanto tu sostituisci il tuo carattere con nulla.
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Originariamente inviato da userfra
    ok, grazie mille

    però così elimino un carattere ad esempio tutti e quattro, ma un singolo carattere?
    Guarda bene il codice postato da Storm Sentry: elimina esattamente 1 carattere e precisamente il carattere in posizione (i-1), dato che, come negli array, gli elementi si numerano partendo da 0.

    Ad esempio:
    codice:
    String s = "Ciao";
    s = removeCh(s, 2); // rimuovo la 'a'
    System.out.println(s); // restituisce "Cio";
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Salve a tutti.
    Allora non so se mi è chiara la domanda; mi sa che non l'ho capita bene; supponiamo si abbia
    String input = "incantesimo"
    e che da essa si voglia togliere la prima i che si incontra...
    perchè non fare:

    input = input.replaceFirst("a","");
    oppure

    input = input.replace('a','\u0000');
    oppure
    input = input.replaceAll("a","");
    ?
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Originariamente inviato da Angelo1974
    Salve a tutti.
    Allora non so se mi è chiara la domanda; mi sa che non l'ho capita bene; supponiamo si abbia
    codice:
     String input = "incantesimo"
    e che da essa si voglia togliere la prima i che si incontra...
    perchè non fare:
    codice:
     input = input.replaceFirst("a",""); 
     oppure 
    
     input = input.replace('a','\u0000'); 
     oppure 
     input = input.replaceAll("a","");
    ?
    Lo puoi fare solamente se hai una versione di JDK 1.4 o superiore. Questi metodi non sono supportati per le versioni precedenti (che prevedono solamente il metodo replace() ).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  10. #10
    Puoi anche giocare con il substring in questo modo:

    codice:
    String s = "da3me";
    s = s.substring(0, 2) + s.substring(3, s.length());
    ciao
    zonatre.it - il mio sito personale
    Belluno Country Side primo e unico gruppo country in provincia
    confronta i costi delle tue chiamate fatte con diversi operatori

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 © 2024 vBulletin Solutions, Inc. All rights reserved.