2012-03-01 99 views
0
var str='userkwd* type:"Office"'; 

如何修剪或substr或切片此字符串只得到'userkwd'?變量也會有引號作爲它的一部分。這個很棘手,就好像沒有userkwd .i.e。如果jquery或javascript修剪或substr

var str=' type:"Office"'; 

它應該返回null。 *從inputbox附加userkwd ..

str.slice(0,str.indexOf('*')); ??? 

str.split("*")[0]; ???? 

str.substring(0, str.indexOf('*')); ??? 

哪一個?

回答

0
str.replace(/\*? type.*/, ''); 
0

答案是微不足道的。認爲userkwd是否可以包含「」,例如「用戶kwd」。如果是這樣,那麼你不能使用split(「」)。如果userkwd可以包含額外的*像用戶* kwd那麼你不能使用這個字符。如果關鍵字可以同時包含空格和*,那麼你應該使用不同的方法,例如一些更復雜的正則表達式,但是首先嚐試評估你的建議方法。

順便說一句,在你給出var str=' type:"Office"';的場景中根本沒有userkwd,也沒有*,所以你絕對不應該使用*,如果這是有效的例子。然而,太空發射器會保持,所以如果可能的話,我會盡力去做。

你也可以嘗試找到最後發生的「type:」,並獲取它之前的所有內容,如果爲空,則將其更改爲null或類似的東西。實際上有很多可能性,我們沒有足夠的信息說明爲什麼你需要這個功能以及可能的輸入是什麼......