Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Piccolo problemino con le regex
Forum - C# / VB.NET - Piccolo problemino con le regex - Pagina 2

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 14:06
Venerdì, 10/07/2009
Allora io ho la seguenta frase: esempio di come "\cip ciop\"
Io vorrei controllare se nella frase esistono i simboli "\/:?
Se almeno uno di questi simboli esiste allora "rinomino" la frase in Esempio...
Capito??:k:

PM
Avatar
Mte90 (Member)
Guru


Messaggi: 1144
Iscritto: 25/03/2008

Segnala al moderatore
Postato alle 14:07
Venerdì, 10/07/2009
quoto theprogrammer, ti dò alcuni link utili:
http://regexlib.com
questo è un database con moltissime regex già fatte e funzionano con tutti i linguaggi.
http://www.zspace.it/mmm/help/usingregexp.htm
questo spiega bene cosa sono le regexp.

PM
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 14:26
Venerdì, 10/07/2009
Testo quotato

Postato originariamente da LittleHacker:

Allora io ho la seguenta frase: esempio di come "\cip ciop\"
Io vorrei controllare se nella frase esistono i simboli "\/:?
Se almeno uno di questi simboli esiste allora "rinomino" la frase in Esempio...
Capito??:k:


Più o meno :D Intendi che devi solo controllare se è presente uno di questi caratteri? O se è presente una stringa tra due di questi caratteri?
E poi che vuol dire "rinominare" una stringa? Modificare la stringa tra i due caratteri?

Ultima modifica effettuata da ruggy94 il 10/07/2009 alle 14:31
PM
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 14:42
Venerdì, 10/07/2009
:rotfl: Si vorrei controllare se nella seguente stringa ci sono i caratteri elencati sopra e se ci sono modifico la stringa in esempio apposto di (esempio ...)...:k:

Ho già fatto il codice:

Codice sorgente - presumibilmente VB.NET

  1. Dim control As New Regex("")
  2.                 If control.IsMatch(title) Then
  3.                     SaveVideo.FileName = "video.flv"
  4.                 Else
  5.                     SaveVideo.FileName = title & ".flv"
  6.                 End If



Almeno questa parte è giusta??:rotfl:

Ultima modifica effettuata da LittleHacker il 10/07/2009 alle 14:43
PM
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 15:22
Venerdì, 10/07/2009
Un aiutino?? :-?

PM
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 15:26
Venerdì, 10/07/2009
Testo quotato

Postato originariamente da LittleHacker:

Un aiutino?? :-?


Non è per essere scorretto nei confronti del forum, ma a causa dei grandi problemi di comprensione preferirei risolvere questo problema in privato. Questo perchè in chat la comunicazione è più immediata e diretta e qui sul forum si creerebbe una confusione terribile. Appena giungeremo ad una soluzione, la scriveremo sul forum.
Grazie e scusate se uso questo metodo, ma è proprio necessario ;)
LittleHacker non ricordo se tu mi abbia già aggiunto a msn, in caso contrario: ruggys94@hotmail.it
PS: Se qualcuno è contrario a questa risoluzione del problema, lo dica ed eviterò ;)

Ultima modifica effettuata da ruggy94 il 10/07/2009 alle 15:33
PM
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 22:49
Sabato, 11/07/2009
Evvai c'e l'ho fatta...Grz a tutti ma adesso avrei un'altra domandina sempre su questo argomento; il programma quando trova almeno uno di quei caratteri speciali modifica la stringa in video.flv e invece se non ne trova naenche uno lo lascia invariato adesso la domanda, come posso eliminare i simboli che il programma a trovato senza modificare drasticamente la stringa?
Mi spiego meglio: lui mi trova il carattere '<' nella stringa Hello < World!, e me la modifica in video.flv ma io vorrei da questa stringa togliere solo e solamente il simbolo '<' come posso fare?...Grazie mille a tutti :k:

P.S.: Mi stavo dimenticando:rotfl:, questo è il codice regex che ho utilizzato per "sgamare" i simboli:
Codice sorgente - presumibilmente VB.NET

  1. Dim control As New Regex("[*\/^?""*|:<>]")
  2.  
  3. If control.IsMatch(title) Then
  4. ...
  5. Else
  6. ...
  7. End If



:rotfl:

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 14:35
Domenica, 12/07/2009
Per la prima richiesta non era necessario usare le regex. Per la secondo non lo è strettamente, ma puoi benissimo fare così. Devi usare il metodo Replace della classe Regex. Ammettiamo che tutti questi caratteri speciali debbano essere sostituiti con un underscore. Il codice diventa così:
Codice sorgente - presumibilmente VB.NET

  1. Dim Chars As New System.Text.RegularExpressions.Regex("[\/\\\<\>\*\^\?\|:""]")
  2. Dim Text As String = "\nome ^con* caratteri? <speciali>.flv"
  3. Text = Chars.Replace(Text, "_")
  4. 'Text sarà "_nome _con_ caratteri_ _speciali_.flv"


Nota che ho usato un backslash prima di quasi tutti quei caratteri: dato che essi sono usati come qualificatori, quantificatori e raggruppatori nelle regex, per indicare che li si sta usando come semplici caratteri bisogna renderli escape.

PM
Pagine: [ 1 2 3 ] Precedente | Prossimo