正则表达式如何在不替换任何其他数字的情况下替换$值

时间:2016-10-04 23:58:44

标签: javascript regex

我对正则表达式全新。

我从许多选择的下拉中提取值,其中有很多未选择的值。以下是原始数据的示例:

NoneNoneNoneBP #15 Plain Felt 36" | $10.00NoneNoneNoneNoneNoneNone

所有“none”值均为空选。

我需要删除所有垃圾数据,只留下产品名称,即“BP#15 Plain Felt 36”

也就是说$,值全部为“none”和“|”一切都得走了。

我做得很好,除了我的正则表达式删除了产品名称中的数字以及美元值。即 15 36

我不知道如何隔离与$值相关的数字而不影响与产品描述相关的数字。有什么建议? tks!

这是我到目前为止所做的:

 var materials_replace = materials.replace(/None|\||[\$(\d)(\.)]/g,'');

2 个答案:

答案 0 :(得分:1)

你的前两个部分看起来是正确的(虽然你关心|?周围的空白)

None
\|

最后一部分看起来像

\$\d+(?:\.\d+)?

\ $ - 美元符号

\ d + - 后跟一个或多个数字

(?:\。d +)? - 可选地后跟一个十进制加一个或多个数字 - (?:..)部分只创建一个未被捕获的组' (虽然这里捕获是无关紧要的,因为你正在使用正则表达式匹配替换) - 我们需要对\.\d+部分进行分组,但要说组本身是可选的匹配(最后一个?)

答案 1 :(得分:0)

如果您想用空格替换所有header { width: 1000px; height: 190px; background-color: firebrick; margin: 0 auto; border-left: black solid 1px; border-right: black solid 1px; cursor: url ('springDogwood.jpg'), auto; } 或空白,请尝试以下

None