Solved

Separating Variable From Operator

Posted on 2009-07-08
5
277 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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 86

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: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

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

This tutorial demonstrates one way to create an application that runs without any Forms but still has a GUI presence via an Icon in the System Tray. The magic lies in Inheriting from the ApplicationContext Class and passing that to Application.Ru…
I think the Typed DataTable and Typed DataSet are very good options when working with data, but I don't like auto-generated code. First, I create an Abstract Class for my DataTables Common Code.  This class Inherits from DataTable. Also, it can …
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…
This is my first video review of Microsoft Bookings, I will be doing a part two with a bit more information, but wanted to get this out to you folks.

717 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