我的代码:
我尝试了以下代码
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/