Wees duidelijker. Een string is een String, een textbestand is een File. Als
je prijs stelt op nuttige antwoorden dan zou je kunnen proberen om meer dan 3
seconden aan het stellen van de vraag te besteden.
Vriendelijke groet,
--
Rene Pijlman <R.Pi...@applinet.nl>
http://www.leren.nl/rubriek/computers_en_internet/software_ontwikkelen/ Leer programmeren
http://www.applinet.nl/ Informatiesystemen & Internet
Ik heb een textbestand, die lees ik in met een bufferedReader.
Ik lees dit per regel (logisch? readline). Deze regel (gelezen als string
dus) wil ik
spatie-vrij maken.
beter?
A wacht, nu zie ik het. Het is een beetje onduidelijk.
Ik bedoelde, ik wil alle spaties, uiteraard uit een string vervangen,
maar string.replace(' ','') werkt niet. Ik probeer het nu met het "zoeken
van spaties" en die weghalen, maar dat lijkt me een omweg. Met een
Stringtokenizer is het me ook niet gelukt.
Chris
Wat werkt niet? String.replace(char newChar, char oldChar) werkt prima.
Ik denk dat jij iets fout doet.
Niels
--
/*
* Mail hydr...@wxs.nl
* "One Ring to rule them all, One Ring to find them,
* One Ring to bring Them all and in the darkness bind them
* In the Land of Mordor where the Shadows lie."
*/
Hierbij wil ik Rene nomineren voor een Fat-Ass award voor het geven van
de meest nuttige reply van de afgelopen week ;-)
Kijk eens naar je manier:
string.replace('#', '');
Dan wil je dus een 'niets' vervangen me '#'...
Misschien is dit beter:
string.replace('#', ' ');
???
mvg,
Joost Meijer
Beste Chris,
De API vermeldt: public String replace(char oldChar, char newChar) om
een
karakter in een string te vervangen met een ander karakter.
string.replace('#', '') werkt inderdaad niet, je krijgt een
compilatiefout :
Invalid character constant.
System.out.println("#" + inputLine.replace('#', '') + "#");
^
In een nieuwsgroep vermeld je dan best dat het niet compileert en geef
je er
meteen de foutboodschap bij. '' is inderdaad een ongeldige karakter
constante.
Ik vrees dat je de string zult moeten aflopen en de spaties verwijderen.
Ik heb voor jou een klein stand-alone testje gemaakt, dat blijkt te
werken:
public class TestSpatie {
public static void main (String[] args) {
String inputLine = " 1_spatie_hiervoor
7_Spaties_hiervoor_en_3_erachter ";
// De #'s dienen om te spaties vooraan en achteraan goed te zien
// Met spaties
System.out.println("#" + inputLine + "#");
// Zonder spaties
System.out.println("#" + TestSpatie.trimSpaces(inputLine) + "#");
}
public static String trimSpaces(String s) {
// Gebruik een StringBuffer ipv String voor performantie
StringBuffer result = new StringBuffer();
int len = s.length();
// Bekijk alle karakters uit de String
for (int i = 0; i < len; i++) {
char ch = s.charAt(i);
if (ch != ' ') {
// Voeg een niet-blanco karakter toe
result.append(ch);
}
}
// De string zonder spaties
return result.toString();
}
}
groeten,
Mario.