2014-12-20 3 views
0

ActionScript에서 대체 텍스트를 가져올 함수를 배치 할 수 있습니까?RegEx와 함께 String.replace()를 사용할 때 AS3이 함수를 지원합니까?

string = string.replace(/\b\w+\b/g, "word"); 

을 그리고 이렇게 :

예를 들어, 당신은이 걸릴 수 있습니다 나는이 오류를 받고 있어요

string = string.replace(/\b\w+\b/g, function(m){ 
    return /^[A-Z]/.test(m) ? "Word" : "word" 
}); 

:

ArgumentError: Error #1063: Argument count mismatch on Function/<anonymous>(). Expected 1, got 3. 
    at String$/_replace() 

답변

0

나는 더 많은 정보를 원하시면 here을 발견했다.

이 자바 스크립트로 작동하는 동안 그래서 : 여기에 더 설명을 다음에

string = string.replace(/\b\w+\b/g, function():String { 
    var match:String = arguments[0]; 
    //var matchIndex:int = arguments[arguments.length-2]; 
    //var updatedString:String = arguments[arguments.length-1]; 

    return /^[A-Z]/.test(match) ? "Word" : "word" 
}); 

:

string = string.replace(/\b\w+\b/g, function(m){ 
    return /^[A-Z]/.test(m) ? "Word" : "word" 
}); 

우리는 매개 변수를 제거하고 인수과 같이 모든 기능을 사용할 객체를 사용하는 것 매개 변수 :

repl로 함수를 지정하면 replace() 메서드는 다음 매개 변수를 전달합니다. 미터 기능 :

  • 문자열의 일치하는 부분.
  • 캡처 된 괄호 그룹 일치가 다음 인수로 제공됩니다. 이 방식으로 전달 된 인수의 수는 괄호 안에있는 일치 항목의 수에 따라 에 따라 달라집니다. 함수 코드에서 arguments.length - 3 을 확인하여 괄호 일치 수를 으로 지정할 수 있습니다.
  • 일치가 시작되는 문자열의 색인 위치입니다.
  • 전체 문자열입니다.