Bien que les autres réponses soient toutes des alternatives viables, la raison pour laquelle votre code spécifique ne fonctionne pas est due à une erreur simple dans le code de caractère :
MyVar := jclStrings.StrRemoveChars(sRegions, [#34]);
Le code de caractère #34 représente le caractère guillemet double : "
Ce que vous devez supprimer sont des apostrophes : '
Cela a le code de caractère #39, donc ce changement simple devrait résoudre votre code d'origine :
MyVar := jclStrings.StrRemoveChars(sRegions, [#39]);
Une manière simple d'éviter ce genre de confusion est d'utiliser le caractère littéral, plutôt que le code de caractère (cela rendra également votre code plus facile à lire/comprendre plus tard car vous n'aurez pas à essayer de vous rappeler quel caractère le code est censé représenter - vous pourriez bien sûr ajouter un commentaire, mais alors ce commentaire doit être mis à jour si vous changez le comportement du code lui-même... personnellement, je préfère autant que possible un code auto-documenté. Mais je m'égare).
Étant donné que l'apostrophe est utilisée pour délimiter un caractère littéral, une apostrophe intégrée dans un littéral est représentée par 2 apostrophes consécutives :
MyVar := jclStrings.StrRemoveChars(sRegions, ['''']);
(REMARQUE : En Delphi 2010, il me semble que les chaînes peuvent maintenant être délimitées par des guillemets simples ou doubles, bien que je ne me rappelle pas si cela s'étend aux littéraux de caractère (par opposition aux chaînes de caractères simples. Si c'est le cas, alors ce littéral de caractère pourrait être exprimé comme "'", bien que vous trouviez cela plus ou moins confus soit une question de préférence personnelle. Pour ma part, je considère qu'il est peu judicieux de mélanger les délimiteurs de chaîne. La cohérence est un grand soutien à la précision à mon avis.)