Szymon Gacka

Szymon Gacka świat mikro...

Temat: regex-średnik

Hej,
Mam pytanie, bo zgłupiałem już. Mam plik tekstowy rozdzielany średnikami. No i problem pojawia się w momencie "czyszczenia" stringa ze średników. Wiem są wyrażenia regularne, ale nie chcę z nich korzystać. Najdziwniejsze jest to, że to działa:
String[] regex=myString.split(";");
a to już nie chce (przy czym próbowałem już różnych kombinacji):
String regex=";";
Chciałbym się posłużyć tym ostatnim bo mi najwygodniej. Ale jeżeli się nie da to skorzystam wtedy ze myString.split.
Pytanie czy się da i jeżeli tak to jak?
pzdr
Jarek W.

Jarek W. Software Engineer

Temat: regex-średnik

Chodzi Ci o String.replace()?Jarek W. edytował(a) ten post dnia 23.03.11 o godzinie 11:15
Szymon Gacka

Szymon Gacka świat mikro...

Temat: regex-średnik

Nie, raczej nie.
Zwykłe wczytywanie pliku txt za pomocą Scanner'a. Ma on taką możliwość, że znając znak rozdzielający poszczególne wartości, można "przeczyścić" String'a.
Czyli robię:
Scanner sc=new Scanner(report);
Scanner rs=new Scanner(report);
String regex=";"; -> tutaj niewiem jak powinno być, bo to nie działa
if (sc.findWithinHorizon(regex, 0) == null) throw new IllegalArgumentException("Houston, mamy problem");
while (rs.hasNextLine()) {

itd itp.Szymon Gacka edytował(a) ten post dnia 23.03.11 o godzinie 11:32
Tomasz Poradowski

Tomasz Poradowski Specjalista od
wytwarzania
oprogramowania

Temat: regex-średnik

Szymon Gacka:
String regex=";"; -> tutaj niewiem jak powinno być, bo to nie działa
if (sc.findWithinHorizon(regex, 0) == null) throw new godzinie 11:32[/edited]
Zainteresuj się raczej Scanner.useDelimiter(";") bo jak stoi w dokumentacji do metody findWithinHorizon - Twoje wyrażenie regularne musi łapać wszystko poza znakiem/znakami rozdzielającymi, którym domyślnie jest spacja.
Maciej Nowicki

Maciej Nowicki Java Developer

Temat: regex-średnik

Ale co dokładnie chcesz zrobić bo ja już nie rozumiem - wczytać plik tekstowy i pozbyć się z niego średników?

Jeżeli tak, to skorzystaj z commonsów i zrób po prostu

String content = FileUtils.readFileToString(new File("e:/plik.txt"));
content = StringUtils.remove(content, ";");

O to chodziło?Maciej Nowicki edytował(a) ten post dnia 23.03.11 o godzinie 12:17
Szymon Gacka

Szymon Gacka świat mikro...

Temat: regex-średnik

Dziękować wszystkim za pomoc.
Skorzystałem jeszcze z innej możliwości. Użyłem StringTokenizer.
while (rs.hasNextLine()) {
StringTokenizer st=new StringTokenizer(rs.nextLine(), ";");
itp. itd.Szymon Gacka edytował(a) ten post dnia 23.03.11 o godzinie 16:08

Następna dyskusja:

Regex w RewriteRule




Wyślij zaproszenie do