【发布时间】:2014-04-09 23:11:48
【问题描述】:
我无法编写一个函数,该函数将采用诸如“NiNFe(AsO2)2”之类的化学式字符串并删除其中一个元素。
我目前的尝试是:
pattern = new RegExp(symbol, "g")
formula.replace(pattern, "")
如果符号为“N”且公式为“NiNFe(AsO2)2”,我将得到“iFe(AsO2)2”而不是所需的“NiFe(AsO2)2”。有谁知道如何编写代码,以便区分 N 和 Ni 并替换它?
【问题讨论】:
-
使用否定前瞻来检查您是否在以下位置没有小写字母:
(?![a-z])。见regular-expressions.info/lookaround.html