2012-03-01 101 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或类似的东西。实际上有很多可能性,我们没有足够的信息说明为什么你需要这个功能以及可能的输入是什么......