Separating Variable From Operator

Hi,

I have a variable like :

strFormula = "abc+cde-fgh*1"

I want to separate them into 2 stringbuilder or other variable:

strVariable1 = abc,cde,fgh

strVariable2 = +,-,*

How could I do it?

Thank you.
LVL 1
emi_sastraAsked:
Who is Participating?
 
Mike TomlinsonConnect With a Mentor Middle School Assistant TeacherCommented:
Maybe something like this will work for you?
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim strFormula As String = "abc+cde-fgh*1"
 
        Dim strVariable1 As New System.Text.StringBuilder
        Dim strVariable2 As New System.Text.StringBuilder
        For Each C As Char In strformula
            If Char.IsLetterOrDigit(C) Then
                strVariable1.Append(C)
            Else
                strVariable1.Append(",")
                strVariable2.Append(IIf(strVariable2.Length = 0, C, "," & C))
            End If
        Next
 
        Label1.Text = strVariable1.ToString
        Label2.Text = strVariable2.ToString
    End Sub

Open in new window

0
 
Pratima PharandeCommented:
try some thing like this
  Dim strFormula, strVariable1, strVariable2 As String
        strFormula = "abc+cde-fgh*1"
        strVariable1 = ""
        strVariable2 = ""
        If (strFormula.Contains("+")) Then
            strFormula = strFormula.Replace("+", ",")
            If (strVariable2 = "") Then
                strVariable2 = "+"
            Else
                strVariable2 = strVariable2 + "," + "+"
            End If
        End If
        If (strFormula.Contains("-")) Then
            strFormula = strFormula.Replace("-", ",")
            If (strVariable2 = "") Then
                strVariable2 = "-"
            Else
                strVariable2 = strVariable2 + "," + "-"
            End If
        End If
        If (strFormula.Contains("*")) Then
            strFormula = strFormula.Replace("*", ",")
            If (strVariable2 = "") Then
                strVariable2 = "*"
            Else
                strVariable2 = strVariable2 + "," + "*"
            End If
        End If
        strVariable1 = strFormula
 
        Response.Write(strVariable1)
        Response.Write(strVariable2)

Open in new window

0
 
emi_sastraAuthor Commented:
Hi pratima_mcs,

Is there any other simple way?

You know operator  more than "+-*"

May be using regular expression?

Thank you.

0
 
Pratima PharandeCommented:
yu need to add
 If (strFormula.Contains("+")) Then
            strFormula = strFormula.Replace("+", ",")
            If (strVariable2 = "") Then
                strVariable2 = "+"
            Else
                strVariable2 = strVariable2 + "," + "+"
            End If
        End If

for each operator
0
 
emi_sastraAuthor Commented:
Hi Idle_Mind,

I think your code is what I am looking for.

Thank you very much for your help.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.