我正在使用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>
关于如何让它处理的不仅仅是“最后”单词的任何提示,即,如果我将光标移回几个单词到另一个单词,我是否还能以某种方式获得当前位置&amp;得到那个词?
答案 0 :(得分:0)
尽管可能不是绝对最快的解决方案,但这比创建数组和弹出元素要快。
我总是倾向于使用PHP的 strrpos 函数来执行此类操作(尤其是文件扩展名),所以这很自然(来自php.js)
// 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);
}