2009-05-15 5 views
0

Celui-ci peut sembler basique mais je ne sais pas comment le faire - quelqu'un d'autre?Comment puis-je supprimer "http: //" d'une chaîne dans actionscript?

J'ai une chaîne qui ressemble à ceci:

private var url:String = "http://subdomain"; 

Que dois-je regex je peux le faire:

url.replace(regex,""); 

et le vent avec cela?

trace(url); // subdomain 

Ou y a-t-il encore une meilleure façon de le faire?

+0

Dans un programme Flex [mx.utils.URLUtil] (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/utils/URLUtil.html) peut également être utilisé. –

Répondre

5

Essayez ceci:

url.replace("http:\/\/","");

+0

Vous êtes l'homme! – onekidney

+0

Heureux que cela a fonctionné :) – bedwyr

4

Comme Bedwyr dit. :)

Cela correspond seulement au début de la chaîne et attrapera https ainsi:

url.replace("^https?:\/\/",""); 
+0

En fait, j'ai essayé cela et cela n'a pas fonctionné. Je ne crois pas que Flex supporte le caractère '^'. Je ne suis pas sûr de 's?'. Je l'ai juste essayé et ça n'a pas marché du tout. La prise en charge de Flex regex n'est pas aussi complète que d'autres langues. Avez-vous exécuté ce code? Je serais intéressé d'entendre si cela a fonctionné pour vous: ^) – bedwyr

+1

Je ne l'ai pas testé. Mais si la saveur regex ne supporte pas ces mécanismes de base, elle peut difficilement être appelée une regex du tout. Plus comme une substitution de chaîne simple. –

+1

Ces caractères doivent être pris en charge selon les documents: http://livedocs.adobe.com/flex/2/docs/00001902.html#119166 –

1

ActionScript ne supporte en effet un repetoire regex beaucoup plus riche que bewdwyr conclu. Vous avez juste besoin d'utiliser un réel Regexp, pas une chaîne, comme paramètre de remplacement. :-)

var url:String; 
url = "https://foo.bar.bz/asd/asdasd?asdasd.fd"; 
url = url.replace(/^https?:\/\//, ""); 

Pour que cela soit peut-être encore plus clair

var url:String; 
var pattern:RegExp = /^https?:\/\//; 
url = "https://foo.bar.bz/asd/asdasd?asdasd.fd"; 
url = url.replace(pattern, ""); 

RegExp est une première classe de type ActionScript.

Notez que vous pouvez également utiliser $ char pour fin de ligne et use() pour capturer des sous-chaînes en vue d'une réutilisation ultérieure. Beaucoup de pouvoir là-bas!

+0

Wow - réponse très informative - merci! – onekidney

Questions connexes