我想找到所有的單詞以@開頭的Java腳本開始的Javascript:想找到句子中的所有單詞,@
一句:「嘿@dinesh,我在@dean發泄提到你」;
現在使用上面的句子,我想找到以attherate(@)開頭的兩個單詞(dinesh和dean)。爲了更方便,您可以假設任何用戶使用@提及其他用戶的Twitter功能。
如果有任何正則表達式或函數請告訴我
謝謝。
我想找到所有的單詞以@開頭的Java腳本開始的Javascript:想找到句子中的所有單詞,@
一句:「嘿@dinesh,我在@dean發泄提到你」;
現在使用上面的句子,我想找到以attherate(@)開頭的兩個單詞(dinesh和dean)。爲了更方便,您可以假設任何用戶使用@提及其他用戶的Twitter功能。
如果有任何正則表達式或函數請告訴我
謝謝。
var atmentions = "Hey @dinesh, I have mentioned you in @dean vent".match(/@\w+/g)
// gives ["@dinesh", "@dean"]
如果你想不 '@' 的用戶名,你就可以將它們轉換這樣
atmentions.map(function(name){ return name.substring(1); })
// ["dinesh", "dean"]
你可以這樣做:
function findWords(words) {
return words.split(" ").filter(function(word) {
if (word.indexOf("@") === 0) return word
});
}
var words = findWords("Hey @dinesh, I have mentioned you in @dean vent");
console.log(words); //["@dinesh", "@dean"];
這實際上包含了第一場比賽後的逗號。正則表達式的答案更合適,因爲它更容易找到單詞邊界 – 2014-10-30 15:02:50
它可以這樣來完成:
var sentence = "Hey @dinesh, I have mentioned you in @dean vent",
result = [];
sentence.split(" ").forEach(function(word) {
if(word.indexOf("@") == 0) {
result.push(word); // or result.push(word.substring(1)) to skip @.
}
});
console.log(result); //["@dinesh", @dean"]
使用捕獲組'@(\ S +)'或'@(\ w +)'。從組索引1獲取名稱。請在詢問這類問題之前進行搜索。 – 2014-10-30 14:52:06