Solved

Separating Variable From Operator

Posted on 2009-07-08
5
266 Views
Last Modified: 2012-05-07
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.
0
Comment
Question by:emi_sastra
  • 2
  • 2
5 Comments
 
LVL 39

Expert Comment

by:Pratima Pharande
ID: 24801815
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
 
LVL 1

Author Comment

by:emi_sastra
ID: 24802196
Hi pratima_mcs,

Is there any other simple way?

You know operator  more than "+-*"

May be using regular expression?

Thank you.

0
 
LVL 39

Expert Comment

by:Pratima Pharande
ID: 24802235
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
 
LVL 85

Accepted Solution

by:
Mike Tomlinson earned 500 total points
ID: 24804222
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
 
LVL 1

Author Comment

by:emi_sastra
ID: 24815149
Hi Idle_Mind,

I think your code is what I am looking for.

Thank you very much for your help.
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
How to open form using item in Listbox. 8 23
VB.Net Tranfer data between to VB.Net apps 8 40
No Data for DropDown List 2 28
Looping through datagridview and dataset ? 6 24
If you're writing a .NET application to connect to an Access .mdb database and use pre-existing queries that require parameters, you've come to the right place! Let's say the pre-existing query(qryCust) in Access takes a Date as a parameter and l…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…

861 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question