Solved

Separate a number and letter from a string

Posted on 2016-11-04
25
35 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 51

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 28

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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

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

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 28

Expert Comment

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

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 51

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
 
LVL 28

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 28

Expert Comment

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

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 28

Expert Comment

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

Author Comment

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

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 28

Expert Comment

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

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

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

In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

713 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