funzione regex per abbinare lettera e lettera con un digitale che non ha spazio tra di loroCiao a tutti,
Ho una stringa "9 035 Test dell'attività di analisi per la caratterizzazione STD4 1 1". e voglio solo abbinare con "Assay Activity Testing per la caratterizzazione STD4"
Ho provato a usare: Regex (: Sample Name, "\ d", "", GLOBALREPLACE); ma ha lasciato cadere il numero sulla STD, qualche suggerimento?
Grazie
Ri: regex funzione per abbinare lettera e lettera con un digitale che non ha spazio tra thGrazie mille per l'aiuto e la spiegazione delle regole. e capisco che ho bisogno di tagliare ogni numero libero, e il seguente lavoro perfettamente.
"(\ D + (\ w + \ w)) +"
Ri: regex funzione per abbinare lettera e lettera con un digitale che non ha spazio tra thL'esempio di Justin potrebbe essere perfetto, ma senza conoscere la regola che stai usando è difficile da dire. La regola potrebbe essere quella di abbandonare tutte le cifre e gli spazi iniziali, o potrebbe essere iniziare da "Assay". E dall'altra parte, la regola potrebbe essere quella di rilasciare due numeri delimitati spazio finale, o tutti tranne l'ultima cifra o tutto dopo l'ultima cifra collegata a una parola. E queste sono solo alcune delle possibili regole. Una volta che conosci la regola, fare una regex per seguirla diventa più facile.
Se sei sconcertante sull'esempio di Justin, leggilo in questo modo:
(... + significa che corrisponde a una o più volte ciò che è all'interno del paren
[az] + significa abbinare una o più lettere
\ D? significa corrispondere una o zero cifre
\ s significa abbinare uno spazio
Ogni 'parola' abbinata al paren include una cifra finale opzionale e uno spazio finale richiesto, anche l'ultima parola. Justin ha usato la funzione di assetto per rimuovere lo spazio finale dal risultato. Se i tuoi dati potrebbero non avere uno spazio dopo l'ultima parola, l'ultima parola non sarà inclusa.
Ri: regex funzione per abbinare lettera e lettera con un digitale che non ha spazio tra thInvece di fare una sostituzione globale, è possibile ottenere una corrispondenza per la parte della stringa che si desidera mantenere.
Questo RegEx funziona per la stringa che hai fornito, ma potrebbe non esserlo se il formato di altre stringhe è troppo diverso.
Trim(
Regex(
"9 035 Assay Activity Testing For Characterization STD4 1 1",
"([a-z]+\d?\s)+",
"\0",
IGNORECASE
)
);
log:
"Assay Activity Testing For Characterization STD4"