2009-10-15 4 views
1

문자열의 마지막 단어를 얻기 위해 jquery를 사용하고 있습니다. 하지만 최상의 방법 (성능 현명함) 인 문자열은공백으로 구분 된 문자열에서 마지막 단어를 얻는 것이 현명한 방법입니다.

이 지금까지

<script type="text/javascript"> 
    function lookup() 
    { 
    var s = $('#text').val().split(" ").pop(); 
    if(!s.length) 
     return false; 

    $('#output').html('"'+s+'"'); 
    } 
    </script> 

    <div id="main"> 
     <textarea id="text" rows="5" cols="50" onkeyup="lookup(this.value);"> 
     </textarea> 
     <div id="output"></div> 
    </div> 
내 코드입니다 ..

는 또한, 단순히 마지막 단어 수 없습니다 "현재"단어, 를 얻기 위해 기능을 추가 할 아주 긴 얻을 수

모든 도움말 내가 "마지막"단어 이상을 처리 할 수있는 방법, 즉 커서를 다른 단어로 몇 단어 뒤로 이동하면 여전히 어떻게 든 현재 위치를 얻을 수 있습니까? & 그 단어를 얻을 수 있습니까?

+0

내가 모든을 얻는 방법을 알고 싶습니다 (php.js에서)

나는 항상 (특히 파일 확장자와) 같은 일을 PHP의 strrpos 기능을 사용하는 경향이 있으므로이 꽤 자연 온다 단어하지만 마지막 하나. – anmarti

답변

0

아마도 가장 빠른 해결책은 아니지만 배열을 만들고 요소를 숨기는 것보다 빠릅니다.

// find position of last occurrence of string within variable 
function strrpos (haystack, needle, offset) { 
    var i = (haystack+'').lastIndexOf(needle, offset); // returns -1 
    return i >= 0 ? i : false; 
} 

function lookup(val) { 
    var pos = strrpos(val, ' '); 
    if (pos == false) 
     return false; 

    // get substring of value from 0 to the last 
    // occurrence of empty string 
    val = val.substring(0, pos + 1); 

    $('#output').html(val); 
} 
관련 문제