Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Ricerca carettere specifico in frase [c#.net]
Forum - C# / VB.NET - Ricerca carettere specifico in frase [c#.net]

Avatar
TheEngi (Ex-Member)
Pro


Messaggi: 145
Iscritto: 30/08/2009

Segnala al moderatore
Postato alle 20:02
Giovedì, 26/08/2010
Ciao a tutti... dovrei fare una funzione che mi ricerchi del testo in uno o più frase su multiline che sia compreso tra due parentesi e me lo salvi in modo da poter essere riutillizzato:

Es:
**Error** object.file(14) Undefined symbol:
**Error** object.file(19) Undefined symbol:
**Error** object.file(32) Undefined symbol:

io vorrei che la mia funzione mi cercasse per ogni riga i numeri tra partentesi:

1 (14)
2 (19)
3 (32)

estragga solo i numeri e li salvi in un file è possibile se si come?

grazie a tutti


The Engineer
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2764
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 20:16
Giovedì, 26/08/2010

studia le regular expressions, il pattern di ricerca è molto semplice.


Ingegnere Informatico
https://ldlagency.it
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 10:19
Venerdì, 27/08/2010


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote
Avatar
TheEngi (Ex-Member)
Pro


Messaggi: 145
Iscritto: 30/08/2009

Segnala al moderatore
Postato alle 20:21
Giovedì, 02/09/2010
io ho fatto una cosa del genere:

public Regex number = new Regex("^([0-9])$", RegexOptions.Multiline);

ma poi come faccio?


The Engineer
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 16:55
Venerdì, 03/09/2010
Testo quotato

Postato originariamente da TheEngi:

io ho fatto una cosa del genere:

public Regex number = new Regex("^([0-9])$", RegexOptions.Multiline);

ma poi come faccio?



Quella regex cerca soltanto UNA cifra compresa tra l'inizio (^) e la fine ($) di una riga di testo. Una perchè non hai messo quantificatori. E le parentesi sono caratteri jolly, dovresti saperlo. Per indicare una parentesi bisogna usare \(. La regex corretta è:
Codice sorgente - presumibilmente Plain Text

  1. \(\d+\)


Ossia una parentesi tonda aperta, seguita da almeno una cifra (ma anche di più) e infine una parentesi tonda chiusa.

Per trovare i match si usa Regex.Matches. Bastava leggere il capitolo successivo, che fatica, eh?


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2764
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 17:38
Venerdì, 03/09/2010
Testo quotato

Postato originariamente da Il Totem:
Bastava leggere il capitolo successivo, che fatica, eh?



ma ti pare!


Ingegnere Informatico
https://ldlagency.it
PM Quote