Solved

telephone number manipulation

Posted on 2011-09-06
10
407 Views
Last Modified: 2013-12-18
Hi

How can I manipulate this string    -800-238-7828

to end up with this string      (800) 238 7828

Thanks

Mike  
0
Comment
Question by:BulldogMike
10 Comments
 
LVL 2

Assisted Solution

by:gingerdeb
gingerdeb earned 100 total points
ID: 36492080
Try:

Dim ictr as Integer
Dim origString as String
Dim tmpString as String

origString = "-800-238-7828"

ictr = Instr(origString, "-")
While ictr > 0
     If ictr = 1 Then
          tmpString = "(" + Mid$(origString, ictr+1)
     Elseif ictr = 5 Then
          tmpString = Left$(tmpString, ictr-1) + ") " + Mid$(tmpString, ictr+1)
     Else
          tmpString = Left$(tmpString, ictr-1) + " " + Mid$(tmpString, ictr+1)
     End if
     ictr = Instr(tmpString, "-")
Wend
0
 
LVL 46

Expert Comment

by:Sjef Bosman
ID: 36492353
Split can be your friend...

x= Split(orig, "-")
conv= "(" + x(1) + ") " + x(2) + " " + x(3)

If you want to accept multiple input formats, have a look at Regex:
http://www.regular-expressions.info/vb.html

If you want it in formula language:

x:= @Trim(@Split(orig; "-"));
conv:= "(" + x[1] + ") " + x[2] + " " + x[3];
0
 
LVL 10

Assisted Solution

by:larsberntrop
larsberntrop earned 100 total points
ID: 36493939
hey sjef:  You forgot fulltrim in the script example:

Function FormatPhone(strPhoneMin$) As String
   Dim x As Variant
   x = Fulltrim(Split(strPhoneMin, "-"))
   If Ubound(x) > 1 Then
      FormatPhone = "(" & x(0) & ") " & x(1) & " " & x(2)
   Else
      FormatPhone = Join(x)
   Endif
End Function

Open in new window

0
 
LVL 46

Expert Comment

by:Sjef Bosman
ID: 36493973
Yes, I could have added it, but it's up to Mike to fit the code in. Just mentioned some options...
0
 

Author Comment

by:BulldogMike
ID: 36502419
Hi

Maybe I shpuld have shared this with you before - could you indicate how to work you solutions into these statements: the TEM_CBK_PHN_NB and TEM_FAX_NB components are the telephone and fax numbers repectively

@ProperCase(PHP_ADR_LN1) + ",  " + @ProperCase(LOC_CD) +
@NewLine  + @ProperCase(PHP_ADR_LN2) +
@NewLine + TEM_CBK_PHN_NB +
@NewLine +  TEM_FAX_NB + "  " + "Fax"

Thank you for your help.  it looks like you all will get points on this one

Mike
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 46

Expert Comment

by:Sjef Bosman
ID: 36502741
As I expected: formula :-)

Instructions?
You take the keyboard, you type the I, then the .... C'mon man, think and try by yourself first!

Hint --- add these lines at least once:

tel:= @Trim(@Split(TEM_CBK_PHN_NB; "-"));
telf:= "(" + tel[1] + ") " + tel[2] + " " + tel[3];

and use telf instead of TEM_CBK_PHN_NB
0
 

Author Comment

by:BulldogMike
ID: 36502856
Sorry Seif

I am a healthcare professional and a novice programmer at best - I learn to program by reading books and doing it on the job.  This is basic stuff for you but it's Greek to me since I lack formal IT training

Thanks

Mike
0
 

Author Comment

by:BulldogMike
ID: 36503011
Apparently @ SPLIT is not an available function in Notes 5.0

Should I use @ left or @middle to parse the data as an alternative?

Thank You

Mike
0
 
LVL 46

Accepted Solution

by:
Sjef Bosman earned 300 total points
ID: 36503344
Oh shoot, my bad... :$  And Notes R5, eh? The code will indeed be different then:

tel:= @Trim(@Explode(TEM_CBK_PHN_NB; "-"));
telf:= "(" + @Subset(@Subset(tel; 2);-1) + ") " + @Subset(@Subset(tel; 3);-1) + " " + @Subset(@Subset(tel; 4);-1);

0
 

Author Closing Comment

by:BulldogMike
ID: 36522386
As always these experts are very helpful.
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

  In today’s Arena we can’t imagine our lives without Internet as we are highly used to of it. If we consider our life style just for only 2 min we found that face to face communication is swapped by e-communication.  Every Where from Works place to…
For beginners of Lotus Notes user this is important to know about the types of files and their location supported by IBM Notes. Mostly users are unaware about how many file types are created and what their usages are. This Article is fully dedicated…
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

707 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

16 Experts available now in Live!

Get 1:1 Help Now