# NOOB QUESTION, string to expression

## Recommended Posts

Basically here's what i did, i think i posted in the past about this but it didn't make sense.

Here's how it goes.

Here is what was copied,

2 + 4 =

\$string = Clipget()

\$data = StringRegExp( \$string, "=", "" )

this is where i'm lost.

it's still a string rather than expression, what should i do to turn it into one?

so that when i do Msgbox

it won't come out as 2 + 4, but 6 instead.

In addition, what happens if let's say this comes up, 2², or 3². How how i change that into a 2^2 or 3^2 for a string (which i'll switch later on expression anyways)

##### Share on other sites

Here you go,

```\$sTEXT = '2 + 4 ='
\$aTMP = StringRegExp(\$sTEXT,"([0-9]{1,9}) [+] ([0-9]{1,9})",1)
\$sRESULT = \$aTMP[0] + \$aTMP[1]

MsgBox(0,'RESULT',\$sRESULT)```
Edited by Dreamfire

##### Share on other sites

Another way:

```\$sTEXT = '2 + 4'

\$aTMP = StringRegExp(\$sTEXT, "\d{1,}\s?\+\s?\d{1,}", 1)
If @error Then Exit

\$sRESULT = Execute(\$aTMP[0])

MsgBox(0, 'RESULT', \$sRESULT)```

##### Share on other sites

so wait, how'd u turn the string from the clipobard into an expression o_0???

##### Share on other sites

And another way.

```\$aTMP = '(12/4  + 3²)*2 ='

ClipPut(\$aTMP)

\$sTEXT = ClipGet()

; Using ² equal to ASCII 0xB2
\$aTMP = StringRegExpReplace(StringRegExpReplace(StringRegExpReplace(\$sTEXT, _
"(\xB2)", "^2"), "(\xB3)", "^3"), "=", "")

MsgBox(0, 'RESULT', \$sTEXT & " " & Execute(\$aTMP))```

Lookup the Execute() function in help. (Execute an expression.)

## Create an account

Register a new account

×

• Wiki

• Back

• Git