Ma che problemino scolastico, sono io imbranato (sto imparando il java perciò ogni tanto uso anche il C# dato che la sintassi è simile) , scusate se non potevo rispondere ma mi mancava la connessione, comunque vi ringrazio tanto ma avevo già risolto, in ogni caso il metodo split non mi funzionava (cioè in un testo ci possono essere un infinità di caratteri di vario tipo, per esempio ci sono vari tipi di apostrofi, non è che posso scriverli tutti ).

Ora però ho un altro problema: io ho creato un ciclo che controlla ogni carattere, con tanto di progressbar, in questo modo:

codice:
public string delPunteggiatura(DevExpress .XtraEditors.ProgressBarControl  progresso)

        {
            progresso.Properties .Maximum  = txt.Length;
            
            bool isEquals = true;

            string[] caratteri = new string[] {"a", "b", "c", "d","e", "f", "g", "h", "i",
            
                                               "l", "m", "n", "o", "p", "q", "r", "s", "t",
                                                 
                                               "u", "v", "z", "x", "w", "y", "k",
            
                                                "A", "B", "C", "D","E", "F", "G", "H", "I",
            
                                               "L", "M", "N", "O", "P", "Q", "R", "S", "T",
                                                 
                                               "U", "V", "Z", "X", "W", "Y", "K", 
                                               
                                               "à", "è", "é", "ì", "ò", "ù", "ç"};
            string finalTxt = "";

            for (int i = 0; i < txt.Length; i++)
               
            {

                
                
                isEquals = true;

                string carattereTxt = txt.Substring(i , 1);

                for (int a = 0; a < caratteri.Length; a++)

                {
                    
                    if (carattereTxt != caratteri[a])
                    {
                        isEquals = false;
                    }

                    else
                    {
                        isEquals = true;
                        
                        break;
                    }

                                                            
                }

                
                if (isEquals)

                    finalTxt = finalTxt + carattereTxt;

                else

                    finalTxt = finalTxt + Environment.NewLine;
                    
                
                progresso.Position = i;
                progresso.Refresh();

                
            }
            
            progresso.Position = progresso.Properties.Maximum;
            
            return finalTxt;
        
        }
come potete vedere faccio pena, però sono riuscito a ottenere ciò che volevo, ora l'unico problema come dicevo è che essendo molto lento quando deve analizzare molte pagine si "blocca", come posso eseguirlo in un altro thread?