The Problem with s/H\d*//g is that it will also remove the H from HgS (ok,, not organic chemistry, but you get the point).
One way to avoid that is to use a negative look-ahead:
s/H(?![a-z])\d*//</c>
<p>Or if you prefer the Unicode-y approach:</p>
<code>s/H(?!\p{Ll})\d*//
| [reply] [d/l] [select] |
The first code says Forbidden chars again. Second one, Unicode -y approach? I am not familiar with that. Could you help me? How should the input be in an unicode -y approach?
| [reply] |
| [reply] |
will also remove the H from HgS
Yes, you're right, I stand corrected.
| [reply] |
Or simpler, H\d+. \d* will match *zero* or more digits, \d+ matches *one* or more.
update: oh, wait, ignore me. You need to knock out the H in (eg) NaOH, which doesn't have a digit after it.
| [reply] |
Nope :(
If the molecular formula entered is C6H9, the code should give an output equal to 12.01*6=72.06. After applying this, it's giving me 12.01*69=828.69 | [reply] |