正则表达式javascript删除负百分比“ - ”

时间:2014-10-21 15:48:08

标签: jquery regex replace

我需要使用正则表达式或jQuery在百分比前面找到并删除“ - ”负号。

我试过这样做:

$('[data-excel]').each(function() { 
   $(this).html($(this).html().replace(' -', ' ')); 
});

但这似乎并没有消除它。我之所以在负号之前有一个空格** - **的原因是每个都有一个词,它的措辞就像 this-and 所以它会选择那个而不是那个页面上的百分比。

我正在看的一个例子:

  

大约-38%是用这个 - 以及其他东西。

任何帮助都会很棒!感谢。

3 个答案:

答案 0 :(得分:1)

myString.replace(/-(?=\d)/,"")

使用lookahead查找-后跟数字。

http://regex101.com/r/rV3rF3/1

为了完整起见,为了确保该号码实际上后跟%,只需:

myString.replace(/-(?=d+%)/,"");

考虑(可选)小数:

myString.replace(/-(?=\d+\.?\d*%)/,"");

匹配:

-      literal -
?=     followed by (lookahead):
d+     1 or more digits
\.?    0 or 1 decimal point
d*     0 or more digits

http://regex101.com/r/rV3rF3/2

答案 1 :(得分:0)

-(?=\d+%)

试试这个。这会在-之后查找百分号。替换为empty string。请参阅演示。

http://regex101.com/r/rQ6mK9/25

答案 2 :(得分:0)

尝试一下:myStr.replace(/[/-]/g, '')