Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re^3: How to avoid an alphabet and integer next to it in a string?

by hazylife (Monk)
on Mar 21, 2014 at 18:08 UTC ( [id://1079318]=note: print w/replies, xml ) Need Help??


in reply to Re^2: How to avoid an alphabet and integer next to it in a string?
in thread How to avoid an alphabet and integer next to it in a string?

What about this?
$formula =~ s/H\d*//g;
  • Comment on Re^3: How to avoid an alphabet and integer next to it in a string?
  • Download Code

Replies are listed 'Best First'.
Re^4: How to avoid an alphabet and integer next to it in a string?
by moritz (Cardinal) on Mar 21, 2014 at 18:20 UTC

    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*//
      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?
        The first code says Forbidden chars again.
        So show the input and output, quit making us guess (and when I say 'output' I mean the new string, not the number you're trying to calculate).

        As far as which approach, don't worry about it. Just pick one (as long as it works).

      will also remove the H from HgS
      Yes, you're right, I stand corrected.

      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.

Re^4: How to avoid an alphabet and integer next to it in a string?
by piscean (Acolyte) on Mar 21, 2014 at 18:12 UTC
    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

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1079318]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (6)
As of 2024-04-19 16:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found