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

    riferimento a carattere " (virgolette)

    problema di sintassi: ho delle stringhe su un file di testo che contengono delle virgolette, e ho necessità di togliere le virgolette dalla stringa. Dato che, se la stringa contiene delle virgolette, queste sono sicuramente l'ultimo carattere della stringa, avevo pensato di riferirmi all'ultimo char della stringa e, se questo è proprio il carattere ", eliminarlo e tenermi solo la parte restante della stringa. Ma come faccio a controllare se l'ultimo carattere è proprio il carattere " ??

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: riferimento a carattere " (virgolette)

    Originariamente inviato da italo2008
    Ma come faccio a controllare se l'ultimo carattere è proprio il carattere " ??
    Se vuoi togliere tutte le virgolette, ti basterebbe fare una operazione di replace (vedi i replace()/replaceAll() di String).
    Se vuoi prendere il carattere i-esimo di una stringa c'è charAt().
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    c'è qualcosa che non va...

    do maggori informazioni:

    io parto da una stringa con charset UTF-16 (può contenere caratteri cirillici). Questa stringa può contenere al suo interno (ma solo alla fine della stringa stessa) caratteri particolari come '\n' , '\r' oppure ' " '. Un esempio è questo

    Russo\n\r"


    Queste stringhe sono quelle che io leggo col blocco note dopo aver esportato un file CSV da un'altro applicativo su cui non posso mettere le mani..

    quello che io voglio ottenere è Russo. Ho scritto questo codice per arrivare allo scopo:

    codice:
    private static String togliVirgolette(String item){
        String ris=item;
        int l=ris.length()-1;
        int index=l;
        while(l>=0){
            char temp=ris.charAt(l);
            if (temp=='"'|temp=='\n'|temp=='\r'){
                index--;
            }
            l--;
        }
            StringBuffer buffer=new StringBuffer(item);
            ris=buffer.substring(0,index);
    la mia intenzione è quella di memorizzare l'indice più piccolo della stringa che corrisponde a uno dei caratteri non "buoni" e tenermi buono tutto quello che viene prima di questo. Ma evidentemente c'è qualcosa che non va perchè facendo un debug sembra che non riconosca i caratteri da eliminare... Per caso dipende dal charset??

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Non devi sempre andare indietro, appena trovi un carattere che non è tra i 3 che cerchi, il while deve terminare. E quindi devi avere la lunghezza accorciata solo fino a quel punto.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.