2009-05-15 12 views
0

これは基本的なように見えるかもしれませんが、私はそれをどうやって行うのか分かりません。actionscriptの文字列から "http://"を削除するにはどうすればよいですか?

私はこのようになります文字列を持っている:

url.replace(regex,""); 

これで羽目になる:

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

は私がこれを行うことができますので、どのような正規表現が必要なのでしょうか?

trace(url); // subdomain 

これを行うにはさらに良い方法がありますか?

+0

Flexプログラム[mx.utils.URLUtil](http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/utils/URLUtil.html)でも使用できます。 –

答えて

5

このお試しください:bedwyrが言ったように

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

+0

あなたは男です! – onekidney

+0

うれしいこと: – bedwyr

4

を。 :)

これは、文字列の先頭にマッチしますし、同様にHTTPSをキャッチします:

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

実際には、これを試してもうまくいきませんでした。私はFlexが '^'文字をサポートしているとは思わない。私はまた確信していないのですか? '私はちょうどそれを試して、それはまったく動作しませんでした。 Flex正規表現のサポートは、他の言語ほど完全に洗練されていません。このコードを実行しましたか?私はそれがあなたのために働くかどうか聞いてみたいと思うでしょう:^) – bedwyr

+1

私はそれをテストしていません。しかし、正規表現の味がこれらの基本的な仕組みをサポートしていなければ、まったく正規表現と呼ぶことはほとんどありません。もっと普通の文字列置換に似ています。 –

+1

これらの文字は、ドキュメントに従ってサポートする必要があります。 http://livedocs.adobe.com/flex/2/docs/00001902.html#119166 –

1

ActionScriptは確かbewdwyrが締結さよりもはるかに豊かな正規表現repetoireをサポートしていません。置換パラメータとして、文字列ではなく実際のRegexpを使用するだけです。 :-)

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

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

これはおそらくより明確にするために正規表現は、ファーストクラスのActionScript型です。

end-of-lineには$ charを使用し、後で再利用するためには()を使用して部分文字列を取得することもできます。そこにはたくさんの力があります!

+0

うわー - 非常に有益な応答 - ありがとう! – onekidney

関連する問題