Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [C#] Ricerca tramite Regular Expressions

    Sera forum! d:

    Provando a creare un programma casalingo che gestisca i nomi dei file contenuti in una cartella, mi sono trovato di fronte ad un problema.

    Devo rinominare dei file, video e non, chiamati in questo modo: NomeSerie MxN - Titolo.*, dove M sta per il numero della serie (come 01, 02, 12, etc.) ed N sta per il numero dell'episodio (come 01, 02, 15, 155, etc.).

    Avevo pensato di rinominare i file copiandoli con un altro nome ed eliminare i precedenti, soltanto che trovo "impossibile" estrapolare la parte della stringa MxN. Dato che il nome del file varia in continuazione e potrebbero essere prenti anche caratteri numerici in più, non posso utilizzare il metodo Split(). Sapendo, però, che i file conterrano per forza la forma *MxN*, mi è venuta l'idea di utilizzare le Regular Expressions. Purtroppo non le avevo mai affrontate, e nonostante mi sia informato non ho ben capito come fare. Sono davvero complesse

    Se sono stato poco chiaro riassumo cosa devo fare.
    Devo trasformare il nome di un file, es. Guida_C#_peR_PriNcIpiAnti-01x05by_Lollinos.pdf, in "Guida C# - 01x05.pdf".

    Spero che riuscirete ad aiutarmi!

    Ringraziamenti anticipati e Buon proseguimento della giornata,
    Lollinos

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    L'esigenza l'hai chiarita abbastanza, ma non la soluzione.

    Mi spiego: dato che ti sei documentato sulle espressioni regolari, che secondo me è la soluzione corretta, cosa hai provato a scrivere come espressione per identificare quel nome di file.

    In breve, non è molto corretto chiedere a noi di scriverla senza provarci.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    In verità chiedevo di spiegarmi meglio le regular expressions, perché nonostante mi sia informato non ho ancora capito bene il loro funzionamento.

    Avevo pensato una cosa tipo "*[0-9][0-9]"+"x"+"[0-9][0-9]*" (per ottenere 01x12), solo che oltre che suonarmi sbagliata, nel caso che ci sia un numero a tre cifre o più non funziona.

    Al contrario quindi! Voglio capire meglio queste regular expressions in modo da poterle applicare da solo, senza bisogno d'aiuto un domani d:

    Ah dimenticavo, per estrapolare il numero devo usare la classe Regex con il matodo Match()?

  4. #4

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    Originariamente inviato da Lollinos1067
    In verità chiedevo di spiegarmi meglio le regular expressions, perché nonostante mi sia informato non ho ancora capito bene il loro funzionamento.
    Prova a leggere questo tutorial.

    Una certa elasticità nell'uso delle espressioni regolari senza ricorrere a una guida arriva con l'abitudine e l'esperienza.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Grazie mielle dei vari link (:

    Dato che ora non ho tempo di provare il codice, potrebbe funzionare una cosa di questo genere: (\d*x)\d* ?

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    Originariamente inviato da Lollinos1067
    Dato che ora non ho tempo di provare il codice, potrebbe funzionare una cosa di questo genere: (\d*x)\d* ?
    Prendi il programma Expresso che ti è stato suggerito, incollaci l'espressione regolare e un esempio del valore che devi analizzare e lui ti dirà se può funzionare oppure no.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.