|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
[JAVA] regexp
salve , srto cercando di estrare un double da una stringa , ma nn ci riesco a trovare il pattern giusto ,su qualche sito ho anche trovato dei programmini js che li creano ma nn vanno bene con java
Codice:
([0-9]*\,[0-9]*) |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Sep 2007
Messaggi: 754
|
Codice:
replaceAll("[^0-9]", "");
__________________
http://www.tevigroup.it/ |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
(ciò che ho scritto è già la stringa literal, non la regex in sé) uno o più digit, seguito da virgola, seguito da uno o più digit.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
"(\\d+,\\d+)" va benissimo , thenc iu
![]() |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
ma se ad esempio ho una stringa
Codice:
String sorcio = "data 13/11/2007 , domanda_12"; io ho provato con Codice:
"(\\s{0}\\d{1,2})" o "(\\S\\d{1,2})" Ultima modifica di vladix : 16-02-2008 alle 11:06. |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Nov 2002
Messaggi: 11745
|
"data\s+\d+/\d+/d+\s+,\s+domanda_(\d)" perlomeno con le perl posix dovresti poter usare questa maschera
![]() ho usato le \s+ dove quegli spazi possono anche diventare tab... cmq sia puoi anche scrivere ".*domanda_(\d)" se sai che il numero della domanda e' compreso tra 00 e 99 a questo punto substr(stringa,strlen(stringa)-2,2) ... nn so se sono quelle le funzioni in java xo' hai capito il senso ![]()
__________________
Ho fatto affari con: troppi per elencarli Vendo: NAS PRO QNAP 4 BAIE 419P+ CON LCD Ultima modifica di Rubberick : 16-02-2008 alle 11:52. |
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
si ma nn voglio usare la substring
ho provato con Codice:
"_(\\d{1,2})\\s" so che c'e il pattern Codice:
(?:X) |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Se vuoi catturare nel group 0 solo i digit, beh, si può fare ma devi tenere presente una cosa: non puoi usare il semplice non-capturing group che è (?:X) perché questo evita solamente che venga creato un nuovo gruppo 1 2 ecc.... Ma nel gruppo 0 che è tutto il match completo te lo ritroveresti comunque! Devi usare i lookahead/lookbehind, la espressione diventa: "(?<=_)\\d{1,2}(?=\\s)" I lookahead/lookbehind semplicemente "guardano" avanti o indietro e sono per definizione non-capturing.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Apr 2004
Città: Ascoli Piceno
Messaggi: 742
|
Approfitto di questo topic per chiedere:
ho una stringa e voglio rimpiazzare ogni sottostringa che trovo fra i caratteri ">" e "<", come faccio? Il mio problema è che se sostituisco in quella maniera in Codice:
<document> <bookcategory> Non Java <book> <title>Algorithms in C++</title> <author>Robert Sedgewick</author> <publisher>Addison-Wesley</publisher> <isbn>0-201-51059-6</isbn> <pages>658</pages> <price>46.25</price> <recommendation>Buy It</recommendation> <blurb> This is the best book I know about basic algorithms and data structures. I refer to it frequently. </blurb> </book> <book> <title>The Design and Evolution of C++</title> <author>Bjarne Stroustrup</author> <publisher>Addison-Wesley</publisher> <isbn>0-201-54330-3</isbn> <pages>461</pages> <recommendation>Buy It</recommendation> <blurb> A fascinating look at why C++ is what it is, for better or worse, by the man who invented it. Even though Java is never mentioned, this book should convince convince you that C++ and Java really are two very different languages. </blurb> </book> </bookcategory></document> Codice:
<document> </document>
__________________
Toshiba Satellite A500-14F : Intel® Core™2 Duo P8700; ATI Mobility Radeon™ HD 4650; TruBrite® HD TFT High Brightness display 16.0"; 4,096 MB DDR2 RAM; HD 320 GB; Wi-Fi+BT 802.11a/g/Draft-N; Built-in Harman Kardon® stereo speakers; Touch Pad with Multi-Touch Control; TV Tuner ibrido digitale (DVB-T) e analogico; DVD Super Multi drive; Windows 7 Professional Ultima modifica di f0/\/2!3 : 10-03-2008 alle 11:32. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:43.