2012-03-08 16 views
0

谷歌有一個單元的轉換功能,它需要一個人類可讀的字符串,如:解析一個谷歌就像JavaScript單位轉換輸入?

1m to feet 

,並使用此作爲單位換算/計算器指令。它也支持'to keyword'左側的計算。

1 * (2 * 10)/2m to cm 

如何才能在javascript中實現相似的字符串解釋?

EDIT加入一些示例代碼:

function UnitQuery(str) { 
    var arr = str.toLowerCase().split(' '), 
     len = arr.length, 
     afterToKeyword = false, 
     queryObj = { 
      left : [], 
      right : [] 
     }, 
     current = queryObj.left; 

    for (i = 0; i < len; i++) {  
     if (!afterToKeyword && arr[i].search('to') >= 0){ 
      afterToKeyword = true; 
      current = queryObj.right; 
     } 
     current.push(arr[i]); 
    } 
    return queryObj; 
} 

console.info(UnitQuery("1 m to feet")); 

回答

0

開始由標記化輸入.split(),然後採取行動上的值。

+0

拆分什麼? 「至」? 「」? – max 2012-03-08 22:12:56

+0

如果你在像「mathquery」這樣的變量中有字符串「1m到foot」,將分割變量mathquery.split(「」),然後使用該數組來執行操作。嘗試編寫一些代碼,我相信我們都可以幫助你。 – 2012-03-09 15:00:38