2013-12-12 19 views
2

我一直在編寫一個簡單的聊天機器人,除了句子分解以外,一切都完成了。如何將句子分解爲數組值?

我將如何創建一個函數來分解執行以下操作的句子?

  • 轉換一個句子爲小寫
  • 篩選出逗號,感嘆號和週期。
  • 使句子的每個單詞成爲一個數組值。
  • 返回數組。

我還在學習JavaScript,想知道如何做到最好。

+2

你嘗試過自己嗎?你有一些編碼的例子嗎? – veelen

+0

句子中的「單詞」是什麼? – sln

+0

如果你不知道一個單詞是什麼,你所能做的就是分割空白,然後在線替換字符。 – sln

回答

4

簡單的解決辦法是這樣的:

var result = input.toLowerCase().match(/[\w'-]+/g); 

toLowerCase轉換成小寫形式的字符串,然後match會發現一個或多個單詞字符的任何序列(包括字母,數字和下劃線) ,撇號或連字符。

例如:

var input = "I'm still learning JavaScript, and would like to know how to best do this."; 
var result = input.toLowerCase().match(/[\w'-]+/g); 
console.log(result); // ["i'm", "still", "learning", "javascript", "and", "would", "like", "to", "know", "how", "to", "best", "do", "this"] 
1

考慮以下代碼:

s = 'Filter out commas, exclamation points, and periods.'; 
arr = s.toLowerCase().replace(/[,!.]/g, ' ').split(/ +/).filter(Boolean); 
//=> ["filter", "out", "commas", "exclamation", "points", "and", "periods"]