usuwanie pustej lini w stringu ?
tomas - 12-04-2007 00:09
usuwanie pustej lini w stringu ?
Witam,
Mam string ktory jest mocno "zasmiecony" ma puste linie chce jes usunac jak to zrealizowac ?
temp = temp.replace("%\n", ""); - bez rezultatu
Potrzebowalby takze porady jak sobie poradzic z czyms takim mam powiedzymy taki stringh herf=="../portfele/tech_pl.htm" class="tdata"> i chce taka linie takze usunac ale zanm tylko poczatke czyli herf pozniej juz sa rozne znaki....
dzieki za wskazowki
Peter - 12-04-2007 00:09
On 11 Kwi, 18:23, "tomas" <tomek80...@o2.pl> wrote: > Witam, > > Mam string ktory jest mocno "zasmiecony" ma puste linie chce jes usunac jak > to zrealizowac ? > > temp = temp.replace("%\n", ""); - bez rezultatu > > Potrzebowalby takze porady jak sobie poradzic z czyms takim mam powiedzymy > taki stringh herf=="../portfele/tech_pl.htm" class="tdata"> i chce taka > linie takze usunac ale zanm tylko poczatke czyli herf pozniej juz sa rozne > znaki.... > > dzieki za wskazowki
Co do pierwszego to wydaje mi się że zwykły trim powinien zadziałać. W drugim StringTokenizera bym użył, ale chyba też możesz sprawdzić najpierw czy string zaczyna się taka sekwencją a później go usunąć: startsWith(String prefix, int toffset) Tests if this string starts with the specified prefix beginning a specified index.
tomas - 12-04-2007 00:09
Użytkownik "Peter" <pkirylcz@o2.pl> napisał w wiadomości news:1176309248.683824.243740@w1g2000hsg.googlegro ups.com... On 11 Kwi, 18:23, "tomas" <tomek80...@o2.pl> wrote: > Witam, > > Mam string ktory jest mocno "zasmiecony" ma puste linie chce jes usunac > jak > to zrealizowac ? > > temp = temp.replace("%\n", ""); - bez rezultatu > > Potrzebowalby takze porady jak sobie poradzic z czyms takim mam powiedzymy > taki stringh herf=="../portfele/tech_pl.htm" class="tdata"> i chce > taka > linie takze usunac ale zanm tylko poczatke czyli herf pozniej juz sa rozne > znaki.... > > dzieki za wskazowki
Co do pierwszego to wydaje mi się że zwykły trim powinien zadziałać. W drugim StringTokenizera bym użył, ale chyba też możesz sprawdzić najpierw czy string zaczyna się taka sekwencją a później go usunąć: startsWith(String prefix, int toffset) Tests if this string starts with the specified prefix beginning a specified index.
Trim nie dziala nadal sa puste linie.... dzieki za podpowiedz
Twelve Hungry Mammoths - 12-04-2007 00:09
On Wed, 11 Apr 2007 18:23:09 +0200, tomas <tomek80-80@o2.pl> wrote: > Mam string ktory jest mocno "zasmiecony" ma puste linie chce jes usunac > jak > to zrealizowac ? > > temp = temp.replace("%\n", ""); - bez rezultatu
a ten znak % co niby ma robic?
sprobuj:
temp = temp.trim ().replaceAll ("\n+", "\n");
> Potrzebowalby takze porady jak sobie poradzic z czyms takim mam > powiedzymy > taki stringh herf=="../portfele/tech_pl.htm" class="tdata"> i chce > taka > linie takze usunac ale zanm tylko poczatke czyli herf pozniej juz sa > rozne > znaki....
rozumiem, ze chcesz usunac cala linie, ktora zawiera href="..."?
temp = temp.replaceAll (".*href=\".*\n", "");
pzdr szeryf
tomas - 12-04-2007 00:09
Użytkownik "Twelve Hungry Mammoths" <someone@microsoft.com> napisał w wiadomości news:op.tqmryhtahxnuv2@negative-361apc... On Wed, 11 Apr 2007 18:23:09 +0200, tomas <tomek80-80@o2.pl> wrote: > Mam string ktory jest mocno "zasmiecony" ma puste linie chce jes usunac > jak > to zrealizowac ? > > temp = temp.replace("%\n", ""); - bez rezultatu
a ten znak % co niby ma robic?
sprobuj:
temp = temp.trim ().replaceAll ("\n+", "\n");
> Potrzebowalby takze porady jak sobie poradzic z czyms takim mam > powiedzymy > taki stringh herf=="../portfele/tech_pl.htm" class="tdata"> i chce > taka > linie takze usunac ale zanm tylko poczatke czyli herf pozniej juz sa > rozne > znaki....
>rozumiem, ze chcesz usunac cala linie, ktora zawiera href="..."?
>temp = temp.replaceAll (".*href=\".*\n", "");
>pzdr >szeryf
Niestety szeryfie :) nadal no working, moze kod rozjasni sprawe :
String resp,stona;
post = new PostMethod(www.adres.srtony);
httpclient = new HttpClient();
httpclient.executeMethod(post);
resp = post.getResponseBodyAsString();
String prefix = "<table";
String postfix = "</TABLE>";
String temp = resp.substring(resp.indexOf(prefix), resp.indexOf(postfix));
temp = temp.trim().replaceAll ("\n+", "\n");
temp = temp.replaceAll (".*<A HREF=\".*\n", "");
System.out.print(temp);
tomas - 12-04-2007 00:09
Użytkownik "Twelve Hungry Mammoths" <someone@microsoft.com> napisał w wiadomości news:op.tqmryhtahxnuv2@negative-361apc... On Wed, 11 Apr 2007 18:23:09 +0200, tomas <tomek80-80@o2.pl> wrote: > Mam string ktory jest mocno "zasmiecony" ma puste linie chce jes usunac > jak > to zrealizowac ? > > temp = temp.replace("%\n", ""); - bez rezultatu
a ten znak % co niby ma robic?
sprobuj:
temp = temp.trim ().replaceAll ("\n+", "\n");
> Potrzebowalby takze porady jak sobie poradzic z czyms takim mam > powiedzymy > taki stringh herf=="../portfele/tech_pl.htm" class="tdata"> i chce > taka > linie takze usunac ale zanm tylko poczatke czyli herf pozniej juz sa > rozne > znaki....
>rozumiem, ze chcesz usunac cala linie, ktora zawiera href="..."?
>temp = temp.replaceAll (".*href=\".*\n", "");
>pzdr >szeryf
Dodam ze jak zmodyfikowalem twoj pomysl na : temp = temp.replaceAll (".*<A HREF=\".*", "");
zadzialalo
tomas - 12-04-2007 00:09
Użytkownik "tomas" <tomek80-80@o2.pl> napisał w wiadomości news:evj216$3l2$1@inews.gazeta.pl... > Witam, > > > Mam string ktory jest mocno "zasmiecony" ma puste linie chce jes usunac > jak to zrealizowac ? > > temp = temp.replace("%\n", ""); - bez rezultatu > > Potrzebowalby takze porady jak sobie poradzic z czyms takim mam powiedzymy > taki stringh herf=="../portfele/tech_pl.htm" class="tdata"> i chce > taka linie takze usunac ale zanm tylko poczatke czyli herf pozniej juz sa > rozne znaki.... > > > > dzieki za wskazowki > >
Stracilem cierpliowsc do tego replaceAll ale jak ktos bedzie potrzebowal mozna i tak : BufferedReader reader = new BufferedReader(new StringReader(string));
StringBuffer out = new StringBuffer();
String subString;
while((subString = reader.readLine())!=null){
if(subString.trim().length()>0) out.append(subString+"\n");
}
tomas - 12-04-2007 00:09
Użytkownik "Twelve Hungry Mammoths" <someone@microsoft.com> napisał w wiadomości news:op.tqmryhtahxnuv2@negative-361apc... On Wed, 11 Apr 2007 18:23:09 +0200, tomas <tomek80-80@o2.pl> wrote: > Mam string ktory jest mocno "zasmiecony" ma puste linie chce jes usunac > jak > to zrealizowac ? > > temp = temp.replace("%\n", ""); - bez rezultatu
a ten znak % co niby ma robic?
sprobuj:
temp = temp.trim ().replaceAll ("\n+", "\n");
> Potrzebowalby takze porady jak sobie poradzic z czyms takim mam > powiedzymy > taki stringh herf=="../portfele/tech_pl.htm" class="tdata"> i chce > taka > linie takze usunac ale zanm tylko poczatke czyli herf pozniej juz sa > rozne > znaki....
>rozumiem, ze chcesz usunac cala linie, ktora zawiera href="..."?
>temp = temp.replaceAll (".*href=\".*\n", "");
>pzdr >szeryf
Szeryfie mam pytanko bo nie do konca kumam to :
temp = temp.replaceAll (".*href=\".*\n", ""); ^ ^
co robi kropka ? i \ ? rozumiem ze * = all znaki ? czemu na koncu jest .*\n ?
przemek tomczyk - 12-04-2007 00:09
tomas wrote:
> > Użytkownik "Twelve Hungry Mammoths" <someone@microsoft.com> napisał w > wiadomości news:op.tqmryhtahxnuv2@negative-361apc... > On Wed, 11 Apr 2007 18:23:09 +0200, tomas <tomek80-80@o2.pl> wrote: >> Mam string ktory jest mocno "zasmiecony" ma puste linie chce jes usunac >> jak >> to zrealizowac ? >> >> temp = temp.replace("%\n", ""); - bez rezultatu > > a ten znak % co niby ma robic? > > sprobuj: > > temp = temp.trim ().replaceAll ("\n+", "\n"); nie chodzi może o to, że pierwszy arg. do replaceAll to regex, i trzeba by slash 2 razy eskapować?
"""Backslashes within string literals in Java source code are interpreted as required by the Java Language Specification as either Unicode escapes or other character escapes. It is therefore necessary to double backslashes in string literals that represent regular expressions to protect them from interpretation by the Java bytecode compiler."""
więc cos w rodzaju .replaceAll ("\\n+", "\\n"); ?
sprawdź funkcje Matcher.replaceAll i Matcher.quoteReplacement(java.lang.String)
-- przemek tomczyk
Twelve Hungry Mammoths - 12-04-2007 00:09
On Wed, 11 Apr 2007 20:52:22 +0200, tomas <tomek80-80@o2.pl> wrote: > > Niestety szeryfie :) nadal no working, moze kod rozjasni sprawe :
zdefiniuj "no working"
> String temp = resp.substring(resp.indexOf(prefix), > resp.indexOf(postfix));
mam wrazenie, ze nie przeczytales javadoc do metody substring()
pzdr szeryf
Twelve Hungry Mammoths - 12-04-2007 00:09
On Wed, 11 Apr 2007 21:21:19 +0200, przemek tomczyk <cafebabe@zgadnij.gdzie.pl> wrote: >> temp = temp.trim ().replaceAll ("\n+", "\n"); > nie chodzi może o to, że pierwszy arg. do replaceAll to regex, i trzeba > by > slash 2 razy eskapować?
nie chodzi, sprawdzalem ten kod przed wyslaniem na grupe.
pzdr szeryf
Twelve Hungry Mammoths - 12-04-2007 00:09
On Wed, 11 Apr 2007 21:25:55 +0200, tomas <tomek80-80@o2.pl> wrote: > Szeryfie mam pytanko bo nie do konca kumam to : > > temp = temp.replaceAll (".*href=\".*\n", ""); > ^ ^ > > co robi kropka ? i \ ?
kropka w wyrazeniu regularnym dopasowuje sie do dowolnego znaku oprocz nowej linii.
\ eskapuje cudzyslow (to akurat skladnia Javy, nie regexpa)
> rozumiem ze * = all znaki ?
nie, * w regexpie mowi "to co przede mna dowolna ilosc razy (w tym 0)". czyli "a*" to "zero lub wiecej liter a", a ".*" to "zero lub wiecej dowolnych znakow".
> czemu na koncu jest .*\n ?
bo chcemy, zeby dopasowalo sie do calej linii az do konca (zeby wyciac)
pzdr szeryf
przemek tomczyk - 12-04-2007 00:09
Twelve Hungry Mammoths wrote:
> nie chodzi, sprawdzalem ten kod przed wyslaniem na grupe. no to w takim razie trzeba wrócić do początku: czy w stringu wejściowym na pewno są sekwencje "\n\n" a nie jakieś podstępne "\r"?
-- przemek tomczyk
Twelve Hungry Mammoths - 12-04-2007 00:09
On Wed, 11 Apr 2007 22:15:36 +0200, przemek tomczyk <cafebabe@zgadnij.gdzie.pl> wrote: > >> nie chodzi, sprawdzalem ten kod przed wyslaniem na grupe. > no to w takim razie trzeba wrócić do początku: czy w stringu wejściowym > na > pewno są sekwencje "\n\n" a nie jakieś podstępne "\r"?
to juz predzej. zatem nalezaloby zrobic tak:
temp = temp.trim ().replaceAll ("[\n\r]+", "\n");
pzdr szeryf
tomas - 13-04-2007 00:03
Użytkownik "Twelve Hungry Mammoths" <someone@microsoft.com> napisał w wiadomości news:op.tqm0bwtqhxnuv2@negative-361apc... > On Wed, 11 Apr 2007 22:15:36 +0200, przemek tomczyk > <cafebabe@zgadnij.gdzie.pl> wrote: >> >>> nie chodzi, sprawdzalem ten kod przed wyslaniem na grupe. >> no to w takim razie trzeba wrócić do początku: czy w stringu wejściowym >> na >> pewno są sekwencje "\n\n" a nie jakieś podstępne "\r"? > > to juz predzej. zatem nalezaloby zrobic tak: > > temp = temp.trim ().replaceAll ("[\n\r]+", "\n"); > > pzdr > szeryf
zapis temp = temp.trim ().replaceAll ("[\n\r]+", "\n");
dziala poprawnie, szeryf moge jeszcze prosic o objasnienie"[\n\r]+" czemu + na koncu ?
Brzezi - 13-04-2007 00:03
czw, 12 kwi 2007 o 07:19 GMT, tomas napisał(a):
> dziala poprawnie, szeryf moge jeszcze prosic o objasnienie"[\n\r]+" czemu + > na koncu ?
Dlaczego sam sobie nie poszukasz? wystarczy zapytac googla o wyrazenia regularne, zapewniam cie ze masz na coanjmniej na caly wieczor lektory roznych stron
a przynajmniej zajrzalbys do dokumentacji: http://java.sun.com/j2se/1.5.0/docs/...x/Pattern.html
Pozdrawiam Brzezi -- [ E-mail: brzezi@enter.net.pl ][ ] [ Ekg: #3781111 ][ Absence makes the heart forget. ] [ LinuxUser: #249916 ][ ]
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?=
String line; if (line=="cos"){...}....problem
[Oracle] =?ISO-8859-2?Q?=A3=B1czenie_wierszy_z_zapytania_?==?ISO-8859-2?Q?w_jeden_string?=
Variable type (position <number>) in EXECUTE STATEMENT '<string>' INTO does not match returned column type
Problem z funkcja mysql_real_escape_string() na bazie mysql
[psql] Funkcja =?ISO-8859-2?Q?=B3=B1cz=B1ca_stringi?=
Sql Serv 2000 - String z lista parametrem funkcji ?
Firebird 1.5, Invalid argument in EXECUTION STATEMENT - cannot convert to string
[oracle] jak wyciągnąć jeden znak ze stringa/zmiennej?
czy sie da - dopisanie stringa do pola jednym query w MySQL
zanotowane.pldoc.pisz.plpdf.pisz.plmarcelq.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|