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

    Sostituire spazio, problema strano...

    Ciao ragazzi!
    Sto lavorando su una web application che deve caricare dei file da una pagina web e salvarli dopo aver tolto gli spazi.
    Il modo per me più veloce (e che ha sempre funzionato) è il mitico:
    Codice PHP:
    replaceAll("\\s","_"); 
    ma stavolta non va...o meglio, va sulla maggior parte degli spazi, ma non su tutti...ed io purtroppo li devo togliere proprio tutti!!
    Ho provato anche con altri replace (\t,\r,\v,\n,\f) ma niente...avete qualche idea??
    Grazie, ciao!!

  2. #2
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Il carattere di escape '\s' per il blank non esiste... come fa a compilare?

    Puoi postare un esempio di stringa che non funziona?

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

    Re: Sostituire spazio, problema strano...

    Originariamente inviato da dionisoft
    Il modo per me più veloce (e che ha sempre funzionato) è il mitico:
    Codice PHP:
    replaceAll("\\s","_"); 
    ma stavolta non va...o meglio, va sulla maggior parte degli spazi, ma non su tutti...ed io purtroppo li devo togliere proprio tutti!!
    Ho provato anche con altri replace (\t,\r,\v,\n,\f) ma niente...avete qualche idea??
    Nelle regex \s indica appunto un qualunque "whitespace", che comprende i blank e anche tab, carriage return, line feed, ecc....
    Quindi se in una stringa hai questi caratteri, non vedo come non possa funzionare (a patto che il replaceAll sia fatto e usato correttamente) .....

    Se però la stringa che è una pagina web, contiene delle entità come   (non breaking space) o altre .... ovviamente no, non le toglie.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Un esempio di pagina che devo acquisire è questa .

    Mi vengono tolti tutti gli spazi tranne quelli del tipo: 3 - Contract_notice, ovvero quelli che si trovano intorno al trattino...gli altri vengono tutti sostituiti!!

    Se li provo a salvare in file con diversi tipi di codifica, per codifiche diverse da UTF-8 ottengo 'Å '...si può far qualcosa secondo voi?

  5. #5
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Ho fatto una prova veloce con questo codice reindirizzando lo stdout su file. A me sembra che funzioni!

    codice:
    import java.io.*;
    import java.net.*;
    
    public class Prova
    {
      public static void main(String[] args) throws Exception
      {
        Socket socket = new Socket("ted.europa.eu", 80);
        PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
        BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    
        String get = "GET /Exec?DataFlow=N_one_doc_access.dfl&Template=TED/N_one_result_detail_data.htm&docnumber=67329-2010&docId=67329-2010&StatLang=EN HTTP/1.0\r\n\r\n";
    
        out.write(get);
        out.flush();
    
        String string = "";
        String temp = "";
    
        while ((temp = in.readLine()) != null)
        {
          string += temp;
        }
    
        System.out.println(string.replaceAll("\\s", "_"));
    
        out.close();
        in.close();
    
        return;
      }
    }

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.