只显示" q ="和"&"然后替换" +"有空格

时间:2013-09-28 15:04:06

标签: jquery

在桌子里面我有一个很长的网址。我想要做的只是显示“q =”和“&”之间的什么并使字体大小:24px

<tr>        <td width="200" class="FieldLabel">
        &nbsp;&nbsp;            9d.seguimiento:&nbsp;
    </td>
    <td>
        http://www.google.com.ar/aclk?sa=l&amp;ai=CZPDPFa0nUpy_NqnjiQKLnoGgC9TDidMFlMbTsIYBzLCy5o8BCAAQASgDUOaitkNgodCEgCygAbz01eADyAEBqQINBW5nwYqHPqoEI0_QlKOMbJ1F4PozVQrINTA87n7cOIGvayY5KKXi7nFbfoiDgAesi6of&amp;sig=AOD64_15b8YaU3U1t7e8ZNZ04mEVVZsw4g&amp;rct=j&amp;q=seguros+banco+provincia&amp;ved=0CC4Q0Qw&amp;adurl=http://segurosendirecto.com.ar/cotizador-de-seguros-auto?kw=seguros%2520banco%2520provincia       </td>

我用jquery选择元素的方式是:

$('#fichadelcontacto tr:contains("9d.seguimiento")')

我怎么能只显示“q =”和“&amp;”之间的什么然后用实际空格替换“+”?

2 个答案:

答案 0 :(得分:1)

var url = $("td.FieldLabel").next().text(); // i guess the selector is good
var match = url.match(/q=([^&]+)/);

match[1]将包含您需要的内容,请参阅该组的paranthesis。如果匹配失败,则匹配将为null,如果您尝试访问匹配[1]

,则会出现错误
var result = match[1].replace(/\s+/, "+");

但是,我认为您正在寻找encoding/decoding URI components,请检查这些功能。

此外,$("td.FieldLabel").next()是表数据,您可以通过css方法操作其CSS,因此您应该添加.css("font-size", "24px");

编辑: 工作JS小提琴:http://jsfiddle.net/aYLkV/12/

答案 1 :(得分:0)

试试这个:

// get substring between `=` and `&`
var String=str.substring(str.lastIndexOf("=")+1,str.lastIndexOf("&"));
// replace `+` with ` `
String.replace(/+/g,' ');