7
votes

String.replace est-il plus rapide que String.Split ... string.join dans ActionScript 3?

est-il plus rapide d'utiliser xxx

plutôt que xxx

pour des chaînes longues dans ActionScript 3? Ou sont-ils seulement deux méthodes comparables pour atteindre le même résultat?


1 commentaires

Pourquoi n'utiliseriez-vous pas simplement mystring.replace ("foo", "bar") . En fonction de la qualité de la mise en œuvre des regex de l'AS3, cela pourrait être plus rapide. En outre, c'est plus simple.


3 Réponses :


1
votes

Voici Un bon blog pour commencer. Mais vous devriez vraiment mesurer pour savoir ce qui est plus rapide.


3 commentaires

Après avoir lu cette page, il semble que le remplacement est le moyen d'aller. En outre, il soutient la regex aussi.


Merci pour cela - je viens de me refactore tout mon ancien string.split (). Joindre (). Split (). Joindre () ... Méthodes pour utiliser Regexp et se demander si cela valait tous les efforts.


@Amarghosh: Split () prend en charge Regex: démonstration: Essayez dans la console de chrome Les commandes suivantes: i = 'alksdfjaklsdfjksaldj flskadjf òlaksdjf òlkasdjf'; i.split (/ a | f /); ils retourneront le tableau: ["", "LKSD", "J", "KLSD", "JKS", "LDJ", "LDJ", " "," DJ "," òl "," ksdj "," òlk "," sdj "," "]



5
votes

David R. cité du blog dirigé par DirkGement:

le string.split (). Joindre () construire est un reste de 2 jours, où il y a n'était pas de corder.replace (). Dans as3, il n'a aucun sens d'utiliser .split.join, Seules les personnes qui n'ont pas appris le La nouvelle fonction de remplacement serait probable Pour l'utiliser.

En outre, la différence de temps semble être minimale selon ce blog. Donc oui, remplacer doit être un moyen beaucoup plus propre de faire cela.


0 commentaires

10
votes

J'ai utilisé gskinners performaceSetest pour exécuter un test rapide sur cette. Je pense que la différence est au mieux minime. Je dirais que remplacer () serait l'option préférée purement parce que c'est ce que vous voulez réaliser. Utilisation de Split (). Joindre () n'est pas aussi clair dans son intention. XXX


1 commentaires

Merci d'avoir exécuté le test - il semble que le remplacement () est le moyen d'aller pour la clarté.