[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
?
Solved

Separate a number and letter from a string

Posted on 2016-11-04
25
Medium Priority
?
41 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
[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
  • 12
  • 9
  • 4
25 Comments
 
LVL 53

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 32

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
 [eBook] Windows Nano Server

Download this FREE eBook and learn all you need to get started with Windows Nano Server, including deployment options, remote management
and troubleshooting tips and tricks

 

Author Comment

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

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 32

Expert Comment

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

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 53

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 32

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 32

Expert Comment

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

Accepted Solution

by:
Pawan Kumar earned 2000 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 32

Expert Comment

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

Author Comment

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

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 32

Expert Comment

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

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

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

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

Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
This tutorial will teach you the special effect of super speed similar to the fictional character Wally West aka "The Flash" After Shake : http://www.videocopilot.net/presets/after_shake/ All lightning effects with instructions : http://www.mediaf…
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…

656 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