Newsgroup: it.comp.java
Titolo: split windows e linux

faccio degli split su stringhe che rappresentano direcotory relative
esempio: j3txt4444-t4231-2.txt
ecco lo split lo eseguo sul backslash
il programma dovrebbe funzionare anche su linux
che devo fare?
splittare sul frontslash?
come faccio a sapere se mi trovo su linux o wind.?
ci sono altri problemi a seconda del sistema per gli split? (ad esempio
splitto anche su "-" e su ".")
grazie
prazision č online   	Segnala messaggio
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 splitto anche su "-" e su ".")
dipende da quello che vuoi ottenere.
Sapere se sei su unix o windows? Ma serve saperlo? (system.getProperties())
String[] myArr = filePath.split("\\\\|\\/|\\.|\\-")
Questa splitta per windows per unix e splitta anche punti e trattini
--
ac

 ac
e questa 
String[] myArr = filePath.split("\|/|")
splitta solo gli slash per windows e per unix giusto?


 splitta solo gli slash per windows e per unix giusto?
Attenzione! da quello che vedo nel giro del post mi sembra che 
spariscano le "backslash" davanti a ciascun simbolo che appare c'"ereno" 
un paio di "backslash".
No. Quella e' una espressione regolare. "slash" e "backslash" per le 
regex sono caratteri speciali quindi davanti a tutte e due devi mettere 
una "backslash" (carattere di escape, anzi un paio come gia' detto)
Se usi un ide evoluto (Netbeans 6.1 lo fa) ti suggerisce lui quante 
backslash ci vogliono.
Comunque, giusto quella che hai postato splitta solo i delimitatori di 
folder
--
ac

 splitto anche su "-" e su ".")
Non capisco.
-- 
Andrea Francia
http://andreafrancia.blogspot.com/2008/07/colinux-linux-dentro-windows.html

 del nome giusto, non ho accesso alla documentazione al momento).
 
qualcosa tipo 
if(System.getProperty("file.separator").equals("\")){
	       		singoleDir = dir_rel.split("\\");
	       	}else if(System.getProperty("file.separator").equals("/")){
	       		singoleDir = dir_rel.split("/");
	       	}
?
so come fare su windows ma non so bene su linux se servono caratteri di
escape per il frontslash
grazie


 grazie
anzi cosě
if(System.getProperty("file.separator").equals("\")){
	       		singoleDir = dir_rel.split("\\");
	       	}else if(System.getProperty("file.separator").equals("/")){
	       		singoleDir = dir_rel.split("/");
	       	}


 	       	}
non vengono visualizzati bene gli slash ovviamente
comunque su windows nell'if ne metto 2 e nello split 4


 escape per il frontslash
Linux non c'entra. Non stai parlando con Linux.
Stai parlando con le RegularExpression.
Le regex *vogliono* le backslash e la split usa le
ari i.e: split("\\\\|\\/")
which means
taglia per "backslash" (\\\\) o (|) per "slash (\\/)
--
ac

 ac
alessandro scusa ma non ho ancora capito come splittare sia sui backslash
di windows che sui frontslash di unix
String[] myArr = filePath.split("\\|\/|\.|\-")
Questa splitta per windows per unix e splitta anche punti e trattini
a me servirebbe senza  punti e trattini
grazie e scusa


 grazie e scusa
singoleDir = dir_rel.split("\\|\/");
questa giusto?


 
Ahhhh... ecco spiegato l'arcano della sparizione delle "backslash".
Il problema dovrebbe essere a carico di newsland che usi per postare.
Un newsreader serio no? ehhhh!
qui si vede tutto 
http://tinyurl.com/6qx67m
--
ac

 
Al posto di usare System.getProperty("file.separator") puoi 
semplicemente usare File.separator, vedi:
http://java.sun.com/javase/6/docs/api/java/io/File.html#separator
E' inutile usare l'if, e il modo in cui lo usi č pure sbagliato: cosa 
succede se il file.separator č diverso da "\" e da "/"?
Il codice dovrebbe essere qualcosa di simile al seguente:
import java.io.File;
import java.util.regex.Pattern;
singoleDir = dir_rel.split(Pattern.quote(File.separator));


 singoleDir = dir_rel.split(Pattern.quote(File.separator));
non è qualcosa di simile ma è quello
grazie mille anche a te
