lunedì 4 aprile 2011

Word Regex Tag Replace

Un avventura pesantella ma alla fine ne esco a testa alta.
Supponiamo di aver fatto il copia e incolla di un testo da Word e di
voler rimuovere tutto o quasi "meglio tutto" la formattazione di Word.

Per poterlo fare o si ha la piena conoscenza di tutti gli attributi
che usa word.. o si trova un sistema che vale per tutti.

Ed ecco che ancora una volta regular expression ci torna comoda !

pattern : " [a-z]*="[a-zA-Z\-0-9:;() ._,&]*"
utilizzo: curText = Regex.Replace(oldText, " [a-z]*=\"[a-zA-Z\\-0-9:;() ._,&]*\"", "", RegexOptions.Multiline);

Dove:

curText è una stringa che conterrà il nuovo valore
Regex arriva da System.Text.RegularExpressions
oldText è la stringa che contiene il testo copia-incollato da Word

Il pattern
[a-z]*="[a-zA-Z\-0-9:;() ._&]*

[a-z]*
tutte le occorrenze di tutte le lettere.
[a-zA-Z\-0-9:;() ._&]*
tutte le occorrenze di tutte le lettere maiuscole/minuscole e i caratteri -:;() ._&


Trovare questo pattern non è stato semplice, e garantisco che funziona
per Word 2010.

Buon divertimento...

Nessun commento: