使用正则表达式擦除冒号(:)之前的所有文本

时间:2012-01-30 12:42:23

标签: jquery regex

webcategory.aspx?q=webcategory:Car&rows=0

从这个查询字符串我提取'webcategory:Car'(q)并将其插入文本字段。

var qqry = $.getParamValue('q');    
if(qqry != '') {    
    $("#search-field").val(qqry)    
}

我需要知道如何使用正则表达式在文本字段中的冒号(:)符号前擦除所有文本 - 因此webcategory:Car变为仅Car

Plz对我说,因为我对正则表达式的了解绝对最小......: - /

3 个答案:

答案 0 :(得分:4)

是否必须使用正则表达式?

$("#search-field").val(qqry.split(':').pop())

答案 1 :(得分:1)

如果只有一个冒号,你可以一起跳过正则表达式并使用如下所示的split()函数:

var qqry = $.getParamValue('q');    
if(qqry != '') {    
     $("#search-field").val(qqry.split(":").pop())    
}

如果可能存在多个冒号,则可能需要使用正则表达式答案。

编辑: 如在其他答案中所提到的,你可以使用pop()函数来拉出split()生成的数组中的最后一个元素

答案 2 :(得分:1)

var afterColon = qqry.replace(/.*:/, "");

执行此操作而不是split选项的一个好处是即使没有冒号也能正常工作。

  • “Car”=> “汽车”
  • “webcategory:Car”=> “汽车”