2011-03-01 4 views
0

AS3에 익숙하지 않지만 root.loaderInfo.loaderURL을 사용하여 문자열을 분할하려고합니다. 이것은 내가 아래의 URL의 예입니다 분할하려고 지금 나에게 URL을 반환 잘 작동 :AS3 스플릿 문자열 문제

http://cw-pdevprt-05.tm-gnet.com:10040/wps/myportal/Ad_Sales_Test/!ut/p/c5/04_SB8K8xLLM9MSSzPy8xBz9CP0os3gzQ28zD0sTQ0t3DwtzA89g_yATTxM_QwMTI_1wkA6zeGd3Rw8Tcx8DAwsXNwsDIydTM89AAxcDA09TiLwBDuBooO_nkZ-bql-QnZ3m6KioCAD3_3C4/dl3/d3/L2dBISEvZ0FBIS9nQSEh/ 

이 길고 부풀어 내가 알고하지만 어쨌든 spliting 내가 문자열 후이 통제 할 수없는

나는 HTTPS를 제거 할 수 있어요
cw-pdevprt-05.tm-gnet.com:10040 

: 단지 노력이 함께 남아있을

var urlLocation:String = "http://cw-pdevprt-05.tm-gnet.com:10040/wps/myportal/Ad_Sales_Test/!ut/p/c5/04_SB8K8xLLM9MSSzPy8xBz9CP0os3gzQ28zD0sTQ0t3DwtzA89g_yATTxM_QwMTI_1wkA6zeGd3Rw8Tcx8DAwsXNwsDIydTM89AAxcDA09TiLwBDuBooO_nkZ-bql-QnZ3m6KioCAD3_3C4/dl3/d3/L2dBISEvZ0FBIS9nQSEh/"; 
var urlArray:Array = urlLocation.split("http://"); 
var urlSecond:String = urlArray; 
var secondArray = urlSecond.split("/"); 

: //하지만 "/"로 시작하는 부분을 제거 할 수 없습니다, 나는 다음과 같은 코드를 사용했다 나는 bove하지만 그것은 두 번째 부분을 분할하려고 할 때 항상 실패합니다. 누군가 올바른 결과를 얻을 수 있도록 도와 줄 수 있습니까? 사전에

덕분에

답변

0

난 당신이 문자열로 배열을 넣어하려고 때문입니다 믿고, 그 캐릭터가 무엇인지,하지만 첫 번째 문자의 배열로 문자열 배열을 가지고 . 어쨌든, 나는 컴파일러가 그것을 좋아할 것 같지 않다.

그러나 모든 단계를 수행하는 이유를 이해하는 데 실패합니다. 한 줄 또는 두 줄의 코드로 모든 작업을 수행 할 수 있어야합니다 (AS에서 다음 코드가 작동하는 경우 100 % 확신 할 수 없음).) :

편집을하는 데 도움이

var urlGet:String = urlLocation.split("/")[x]; //Not sure on all the details of .split() in AS. So "x" could be anything from 1-3 depending on whether it initializes are zero, and whether or not it will 'split at "//" to form an empty space in the array, or just skip over it. I imagine (hope) it would create an empty, but I don't want to say for certain 

위에서보다 작동하지 않을 경우 ...

var urlGet:Array = urlLocation.split("/") 
var urlGet2:String = urlGet[x] //This is x for similar reasons listed above. 

희망 : 그냥,

,536을 명확히하기
var urlGet:String = urlLocation.split("/")[x] 

문자열을 분할하도록 urlGet을 설정하고 생성 된 배열의 x 번째 요소와 같게 설정합니다. 이 코드는 파이썬에서 유효한 코드입니다. 여기에서 작동하는지 확실하지 않습니다.

2

이 코드 (정규 표현식)을 시도 할 수 있습니다 :

var domain:String = urlLocation.replace(/^https?:\/\/([^\/]+).*$/i, '$1'); 
1
url = url.substr(7); // removes the "http://" - use 8 if it's "https://" 
url = url.substring(0, url.indexOf("/")); // url is now "cw-pdevprt-05.tm-gnet.com:10040" 
0

플렉스 클래스 URLUtil 당신이 간단하게됩니다. 당신은 URLUtil를 사용하는 전체 Flex 프레임 워크를 사용할 필요가 없습니다

var servername:String = URLUtil.getServerName(urlLocation); 

, 당신은 클래스를 복사하여 src 디렉토리로 이동할 수 있습니다.

http://dl.dropbox.com/u/672147/URLUtil.as