Solved

Separate a number and letter from a string

Posted on 2016-11-04
25
31 Views
Last Modified: 2016-11-04
Hello,

How to seperate number and letter from a string.

Example
String =11QAR
Seperate 11 and QAR

Cheers
0
Comment
Question by:RIAS
  • 12
  • 9
  • 4
25 Comments
 
LVL 49

Expert Comment

by:Ryan Chong
ID: 41873713
How to seperate number and letter from a string.
if it's fixed length, you can do it easily using Substring function.
0
 
LVL 25

Expert Comment

by:Pawan Kumar
ID: 41873715
Regex-

Regex.Replace("11QAR", "(?:[0-9]+\.?[0-9]*|\.[0-9]+)", "")

Regex.Replace("11QAR", "[^\A-Z]", "")
1
 

Author Comment

by:RIAS
ID: 41873722
Can I write
Dim str as string

str = Regex.Replace("11QAR", "[^\A-Z]", "")
0
 

Author Comment

by:RIAS
ID: 41873726
Any imports are necessary?
0
 
LVL 25

Expert Comment

by:Pawan Kumar
ID: 41873727
Ok, Try

Dim Pawan As Match = Regex.Match("11QAR", "^([A-Z]+)([0-9]+)$")

If (Pawan.Success) Then

   Console.WriteLine(Pawan.Groups(1).Value)
   Console.WriteLine(Pawan.Groups(2).Value)
   
End If
0
 

Author Comment

by:RIAS
ID: 41873738
Is this import required ?
Imports System.Text.RegularExpressions
0
 
LVL 25

Expert Comment

by:Pawan Kumar
ID: 41873741
Yes please.
0
 
LVL 49

Expert Comment

by:Ryan Chong
ID: 41873747
if using Substring, you can try:
Dim myString As String = "11QAR"
        Dim String1 As String = myString.Substring(0, 2)
        Dim String2 As String = myString.Substring(2)
        MessageBox.Show(String.Format("String1 = {0}, String2 = {1}", String1, String2))

Open in new window

0
 

Author Comment

by:RIAS
ID: 41873748
Nope ,Pawan  it doesnt work.
It does not hit the
If (Pawan.Success) Then
0
 

Author Comment

by:RIAS
ID: 41873751
Ryan,

"11QAR" is not fixed ..it can 1111g, 24254545466565y

Cheers
0
 
LVL 49

Expert Comment

by:Ryan Chong
ID: 41873759
for Pawan's example,

you should use:

Dim Pawan As Match = Regex.Match("11QAR", "^([0-9]+)([A-Z]+)$")

instead.
0
 

Author Comment

by:RIAS
ID: 41873763
Its returning empty string
0
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 
LVL 25

Expert Comment

by:Pawan Kumar
ID: 41873766
Try this

Console.WriteLine(Regex.Match("PA24", "\d+$").Value)          
Console.WriteLine(Regex.Replace("PA24", "\d+$", ""))


O/p

24
PA
0
 

Author Comment

by:RIAS
ID: 41873769
Pawan,

Does not work for
fOR
Console.WriteLine(Regex.Match("24PA", "\d+$").Value)
0
 

Author Comment

by:RIAS
ID: 41873770
my string starts with numbers
0
 
LVL 25

Expert Comment

by:Pawan Kumar
ID: 41873771
Yes got checking..
0
 
LVL 25

Accepted Solution

by:
Pawan Kumar earned 500 total points
ID: 41873776
Try First  - Characters first..

Dim match1 = Regex.Replace("sdff45hg589>@#DF456&<jk778P&&FHJ75", "\D", "")
Dim match2 = Regex.Replace("sdff45hg589>@#DF456&<jk778P&&FHJ75", "[0-9]", "")
           
Console.WriteLine(match1)  
Console.WriteLine(match2)

Output

4558945677875
sdffhg>@#DF&<jkP&&FHJ

Second -- Numbers First..


Dim match11 = Regex.Replace("326487326423sdff45hg589>@#DF456&<jk778P&&FHJ75", "\D", "")
Dim match12 = Regex.Replace("23423432432432sdff45hg589>@#DF456&<jk778P&&FHJ75", "[0-9]", "")
           
Console.WriteLine(match11)  
Console.WriteLine(match12)

Output

3264873264234558945677875
sdffhg>@#DF&<jkP&&FHJ

Hope it helps !!
0
 

Author Closing Comment

by:RIAS
ID: 41873781
Thanks Pawan, really appreciate your help!
0
 
LVL 25

Expert Comment

by:Pawan Kumar
ID: 41873782
Welcome RIAS. !!
0
 

Author Comment

by:RIAS
ID: 41873783
Pawan,
Are you from Pune?
0
 
LVL 25

Expert Comment

by:Pawan Kumar
ID: 41873785
No, I am from Gurgaon. Earlier I was in Pune <<Till 2013>>
0
 

Author Comment

by:RIAS
ID: 41873787
Oh ok , I am from Pune nice to interact with you.

Cheers
0
 
LVL 25

Expert Comment

by:Pawan Kumar
ID: 41873790
Same here bro ! Cheers..
0
 
LVL 49

Expert Comment

by:Ryan Chong
ID: 41873794
I think you can try this as well
Private Sub Test(myString As String)
        Dim Test As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match(myString, "^([0-9]+)([A-Za-z]+)$")

        If (Test.Success) Then
            Dim String1 As String = Test.Groups(1).Value
            Dim String2 As String = Test.Groups(2).Value
            MessageBox.Show(String.Format("String1 = {0}, String2 = {1}", String1, String2))
        End If
    End Sub

Open in new window

then:
Test("11QAR")
        Test("1111g")
        Test("24254545466565y")

Open in new window


technically speaking, Regex.Replace may not work if you got value like: 1111g222
from:
Dim match1 = Regex.Replace("1111g222", "\D", "")

Open in new window

you will get 1111g222 but not 1111. it returns with "wrong" value. Having said that, if that value: 1111g222 is not possible then it really doesn't matter to you and hence solution using Regex.Replace will still work for you.
1
 

Author Comment

by:RIAS
ID: 41873798
Thanks Ryan Chong!
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

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

More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …

864 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

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now