Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    5

    Problema con espressioni regolari

    Salve a tutti, volevo chierede se qualcuno poteva dirmi come creare un'estressione regolare che da un testo mi elimini in un uri il simbolo "/" perchè mi crea problemi e non riesco ad eliminarlo

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Risposta "pura RE":
    /\///
    slash backslash slash slash slash
    oppure anche:
    |\/||
    che e` la stessa espressione, ma in cui la slash di separazione e` stata sostituita dal carattere barravert.
    in entrambi i casi significa: sostituisci la slash con niente


    Risposta ragionata.
    A che ti serve il tutto? E` per passare la cosa attraverso la rete?
    Perche` in molti linguaggi esistono le funzioni escape e unescape che codificano le url sostituendo i caratteri che "non passano" dalla rete (che hanno significato diverso e non possono quindi essere trasferiti cosi` come stanno)
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    5
    Grazie mille!
    comunque sto semplicemente analizzando un testo e la"/" mi creava qualche problema... posso farti un'altra domanda?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da Jack_89
    ... posso farti un'altra domanda?
    Prova. Non so se poi sapro` rispondere, ma eventualmetne lo sa sicuramente qualcun altro.

    Se la domanda e` collegata a questa, prosegui in questa discussionie, altrimenti aprine una nuova.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    5
    Se io voglio creare uno script per analizzare la percorrenza di determinate parole in un testo,
    quando nello script ho scritto una lista determinata di parole,
    come posso rendere possibile la scelta? perchè quando gli dico di stampare una qualsiasi delle parole, lui me le stampa tutte e non solo quella che voglio

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da Jack_89
    Se io voglio creare uno script per analizzare la percorrenza di determinate parole in un testo,
    quando nello script ho scritto una lista determinata di parole,
    come posso rendere possibile la scelta? perchè quando gli dico di stampare una qualsiasi delle parole, lui me le stampa tutte e non solo quella che voglio
    Cosa e` la "percorrenza"? I km tra l'inizio e la fine del testo?
    Intendi forse "ricorrenza" (quante volte si ripete una determinata parola)?
    Dove sono scritte le parole nello script? Di solito si mettono in un database, che puo` essere una variabile interna (stringa unica o array di stringhe) oppure un file a parte (consigliato se si vuole dare dinamicita` alla lista).

    Comunque io ci vedo vari problemi di interpretazione nel tuo testo. Prova invece ad esprimerti con un codice (quello che hai provato ad es.).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    5
    uhmmmm si giusto ricorrenza...
    Il testo è un corpus in un file a parte .txt ed è una raccolta di Joyce che c'è su liber liber.
    io, scrivendo qualche termine, volevo strutturarlo in modo che una persola che usi questo programma, se cerce una determinata parola come "Ulisses" il programma gli restituisca il match in un file a parte con ogni volta che trova "Ulisses", ugualmente se volesse trovare "Dedalus", ecc...
    comunque quello che ho scritto è questo (sotto)... ma così se scrivo o "Dedalus" o "Ulisses" mi estrae entrambi e non solo quello che volglio.

    $input = shift;

    $corpus_joyce = shift;


    open CORPUS,$corpus_joyce;

    while (<CORPUS>) {

    $input = $_;


    if ($input =~/Ulisses/) {print $input;}

    elsif ($input =~/Dedalus/) {print $input;}

    }

    close CORPUS

    scusa se formalmente non ho un giusto liguaggio

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Anzitutto quando si inserisce un codice e` opportuno usare i tag VB, altrimenti si perde la formattazioine e la cosa diventa piu` difficile da capire:
    codice:
    my $input = shift;         # legge il primo input e lo salva nella variabile $input
    my $corpus_joyce = shift;       # legge il secondo input e salva in $corpus_joyce
    open CORPUS,$corpus_joyce;      # apre il file indicato dal secondo input
    
    while (<CORPUS> ) {                              # loop sul file aperto - legge una riga
      $input = $_;                                       # salva la riga letta in $input (in questo modo sovrascrive la variabile)
      if ($input =~/Ulisses/) { print $input; }    # cerca se nella riga letta c'e` la parola Ulisses e stampa la riga
      elsif ($input =~/Dedalus/) { print $input; }   # se non c'e` Ulisses, cerca se c'e` Dedalus
    }
    close CORPUS
    Nota che se in una singola riga c'e` Ulisses, non cerca se c'e` Dedalus, ma se nella singola riga non c'e` Ulisses, va a cercare Dedalus.

    Forse il tuo intnto era una cosa del genere:
    codice:
    my $input = shift;         # legge il primo input e lo salva nella variabile $input
    my $corpus_joyce = shift;       # legge il secondo input e salva in $corpus_joyce
    my $line = "";                  # prepara una variabile da usare nel loop
    
    open CORPUS,$corpus_joyce;      # apre il file indicato dal secondo input
    
    if($input eq 'Ulisses') {
      while ($line = <CORPUS> ) {                              # loop sul file aperto - legge una riga e slava in $line
        if ($line =~/Ulisses/ ) { print $input; }    # cerca se nella riga letta c'e` la parola Ulisses e stampa la riga
      }
    } elsif($input eq 'Dedalus') {
      while ($line = <CORPUS> ) {                              # loop sul file aperto - legge una riga e slava in $line
        if ($line =~/Dedalus/ ) { print $input; }    # cerca se nella riga letta c'e` la parola Ulisses e stampa la riga
      }
    }
    close CORPUS
    Ci potrebeb anche essere il modo di scrivere qualcosa del tipo:
    if ($line ~=/$input/) { print $input; }
    Ma non ricordo piu` come e` la sintassi corretta.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    5
    Grazie per le dritte!
    addesso l'ho provato a far girare, ma mi produce solo dei testi vuoti

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.