javascript - 获取具有特定特殊字符作为最后一个字母的单词

标签 javascript dom-events javascript-framework

我的代码:

我尝试了以下代码

var str = "Have fun storming the castle!"
var character = "!";

function endsWith(str, character) {
    return str.indexOf(character, str.length - character.length) !== -1;
}

alert(endsWith(str, character));

它给出的结果为True,因为句子中存在这样的单词。

但我需要结果为 caSTLe! 因为它是唯一具有此类字符的单词。如果多个单词也具有这种特征,我需要这些单词。

最佳答案

下面的函数接受字符串和字符,并返回以该字符作为最后一个字符的单词数组。它区分大小写,但如果您想让它不区分大小写,只需将 .toLowerCase() 添加到比较行即可。

function getWords(str, character)
{
    var words = str.split(" ");
    var result = [];

    for(var i=0; i<words.length; i++)
    {
        if(words[i].slice(-1) == character)
        {
            result.push(words[i]);
        }
    }

    return result;
}

var str = "Have fun storming the castle!";
var character = "!";

console.log( getWords(str, character) );

输出

["castle!"]

多个单词测试:

console.log( getWords("Have fun storming! the castle!", "!") );

输出

["storming!", "castle!"]

<强> jsFiddle Demo

关于javascript - 获取具有特定特殊字符作为最后一个字母的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13740650/

相关文章:

javascript - 使用相对定位的元素拖放 Angular 文件上传

javascript - div 左侧不需要的滚动条?

javascript - Web 浏览器中触发事件的最大速率是多少?

javascript - 捕获最大化的视口(viewport)宽度

asp.net - 日期选择器日历被埋在下拉列表下

javascript - JavaScript 中不允许使用的方法

javascript - 需要修改 HTML 重定向脚本帮助以显示重定向 url 而不是重定向

javascript - 使用 requirejs 的句柄 block 辅助函数(在数组的每一行上添加简单的奇偶属性)

javascript - 使用主干路由器重新渲染 Meteor 页面

javascript - jQuery 和原型(prototype)不能与 Array.prototype.reverse 一起工作