使用.filter()或.slice()删除括号中的文本和括号

时间:2010-04-10 23:48:34

标签: javascript jquery

我有一个包含这样代码的表:

 <tr>
               <th scope="row">5-17</th>
               <td>23.6 (22.0-24.0)</td>
               <td>18.0 (17-20.0)</td>
           </tr>
           <tr>
               <th scope="row">Total 0-17</th>
               <td>20.6 (8-15.6)</td>
               <td>16.1 (22.2-24.0)</td>
           </tr>

我正在使用以下函数来查找表格单元格的内容并将其放入数组中:

var l1 =   $('#datatable td:nth-child(2)').map(function() {
     return $(this).text();
    }).get();

表格片段的id是“datatable”。

这会正确返回,但我将这个数组放入jqPlot并且它无法读取括号或括号本身之间的内容。

我需要将数据保留在表格中,因为我们同时显示表格和图表。

我无法重新格式化(在我要删除的内容周围添加跨度等),因为这些表是由另一个软件生成的。

我认为我需要做的是在空格后切片或使用正则表达式查找和删除。不知道如何处理其中任何一个。谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用:

return $(this).text().match(/\S+/)[0];

这将只占用第一个空间的所有内容。

在正则表达式中:

\S表示非空格字符 \S+表示一个或多个非空白字符的序列。

正则表达式将尽可能多地使用非空白字符并返回它们。

最后需要[0],因为match函数返回一个数组,在这种情况下只包含一个元素。

编辑:修复了上述代码中的错误:它缺少[0]