Les Snippets

Connexion

Exclure des caracteres d'une chaine.

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 24/04/2007 18:08:31 et initié par f0xi [Liste]
Date de mise à jour : 03/05/2007 13:50:38
Vue : 8996
Catégorie(s) : Trucs & Astuces, Chaîne de caractères
Langages dispo pour ce code :
- Delphi 5
- VB6, VBA
- C
- Javascript
- Delphi 5
- Voir tous les langages pour ce code snippet



Langage : Delphi 5
Date ajout : 03/06/2007
Posté par cirec [Liste]
Function ExcludeChars(Const S : String; const CS : TSysCharSet): String;
Var P, PR : PByte;
    Size, I    : Integer;
Begin
  P    := PByte(S);
  Size := Length(S);
  SetLength(Result, Size);
  PR   := PByte(Result);
  I := 0;
  While P^ <> $0 do Begin
    If Not (Chr(P^) in CS) Then Begin 
      Pr^ := P^;
      Inc(Pr);
    End
    Else Inc(I);
    Inc(P);
  End;
  If I > 0 Then SetLength(Result, Size - I)
End;

Function ExcludeChars(Const S : String; const CS : TSysCharSet): String; Var P, PR : PByte;     BS : Set Of Byte Absolute CS;     Size, I    : Integer; Begin   P    := PByte(S);   Size := Length(S);   SetLength(Result, Size);   PR   := PByte(Result);   I := 0;   While P^ <> $0 do Begin     If Not (P^ in BS) Then Begin       Pr^ := P^;       Inc(Pr);     End     Else Inc(I);     Inc(P);   End;   If I > 0 Then SetLength(Result, Size - I) End;
Remarque :
Deux variantes de la fonction de F0xi
mais ~50% plus rapide (pour les deux)
en faite les deux versions se valent c'est juste l'approche qui est légèrement différente

Snippets en rapport avec : Chaine, Caractere, Replace, Charset



Codes sources en rapport avec : Chaine, Caractere, Replace, Charset

{Visual Basic, VB6, VB.NET, VB 2005} PROGRAMME POUR RENOMMER PLUSIEUR FICHIER
J'ai fait ce programme pour renommer les fichiers (a l'origine les mp3). Il permet d'enlever , rajo...

{Javascript / DHTML} REMPLACER UN MOT DANS UNE CHAINE
Bonjour, N'aimant pas travailler avec les expressions régulières sous javascript, voici une fonct...

{PHP} FONCTION DE CONVERSION D'UNE CHAINE DE CARACTÈRE VERS UN TYPAGE UNIX
Bonjour, Alors cette fonction permet de convertir n'importe quelle chaine de caractère en une équiv...

{C / C++ / C++.NET} CLASSE DE GESTION DE CHAINE DE CARACTERES SECURISEE [VC++2K5]
Ca ne doit pas être la seule du genre mais regardez le source et vous comprendrez par vous meme...

{C / C++ / C++.NET} EDITEUR DE TEXTE EN LIGNE DE COMMANDE - C - DEVCPP - CHAINES DE CARACTÈRES
Un petit éditeur de texte qui fonctionne en ligne de commande c'est à dire en mode texte. Pour savo...

{C / C++ / C++.NET} SETIOSFLAGS ET RESETIOSFLAGS
Ce code présente différentes valeurs (paramètres) que peut adopter le manipulateur setiosflags. Cha...

{Visual Basic, VB6, VB.NET, VB 2005} SUPPRESSION DE CARACTÈRES DANS UN STRING
Voici une petite fonction qui permet de supprimer n'importe quel caractère (autant que l'on veut) d'...

{C / C++ / C++.NET} CLASSE CCHAINE
Une petite classe équivalente à la classe MFC CString mais en plus pratique...

{ASP / ASP.NET} TROUVER UNE CHAINE ET LA REMPLACER
Trouve str1 dans la chaine s et le remplace par str2 inputs : s, str1, str2 au format string ...

{Visual Basic, VB6, VB.NET, VB 2005} RECUPERE UNE CHAINE ET RENVOI UNE CHAINE SANS CELLE SUPPRIMÉE
Recupère la chaine de caractères placée avant le séparateur, et met a jour la chaine principale, en ...