Solved

# URGENT: String Conversion

Posted on 2006-12-01
236 Views
Last Modified: 2010-04-30
Hi Guys

(1) I have a string as follows:

ThisIsAnExampleString

I am looking for a function to convert that string to:

This Is An Example String

(2) I also have a string as follows:

This_Is_An_Example_String

I would like to convert that string to the same as in my first question ... I can do this using the Replace Function in VB6; but I would like to use one function to do both conversions ....

Hoping my question is clear

MTIA

Darrin

0
Question by:dwe0608
10 Comments

LVL 67

Accepted Solution

sirbounty earned 500 total points
Passing either instance of strT returns the string you desire:

strT = "ThisIsAnExampleString"
strT = "This_Is_An_Example_String"
MsgBox SplitIt(strT)
End Sub

Private Function SplitIt(strConv As String)
On Error Resume Next
strNew = Left(strConv, 1)
For i = 1 To Len(strConv)
Select Case Asc(Mid(strConv, i + 1, 1))
Case 65 To 91
strNew = strNew & " " & Mid(strConv, i + 1, 1)
Case 97 To 122
strNew = strNew & Mid(strConv, i + 1, 1)
End Select
Next i
SplitIt = strNew
End Function
0

LVL 11

Expert Comment

Private Sub Form_Load()
MsgBox convertString("ThisIsAnExampleString")
MsgBox convertString("This_Is_An_Example_String")
End Sub

Private Function convertString(str As String) As String

If InStr(str, "_") > 0 Then
str = Replace(str, "_", " ")
Exit Sub
End If

'Since capital letters are ascii 65 to 90,
'we can check for that
Dim cnt As Integer
For cnt = 2 To Len(str) 'Start at the second letter
If (Asc(Mid(str, cnt, 1)) >= 65 And Asc(Mid(str, cnt, 1)) <= 90) Then
'The letter is a capital
str = Mid(str, 1, cnt - 1) & " " & Mid(str, cnt, 1) & Mid(str, cnt + 1)
cnt = cnt + 2
End If
Next

convertString = str

End Function
0

LVL 1

Author Comment

Guy, both answers work ... brilliant, now, how could we resolve the string if it were

This_IsAnExample_String

ie its combination of both questions ...

MTIA

Darrin

0

LVL 67

Expert Comment

My solution should work in that case as well...
0

LVL 1

Author Comment

Thasnks for the prompt help guys ... muchly appreciated ....
0

LVL 29

Expert Comment

You could use API to check the bit of the character, if your format of the start of a new word is a capital letter than it would work perfectly. Let me know if you would like to see an example using this method.
0

LVL 1

Author Comment

Always willing to see examples egl1044 ....

MTIA

Darrin
0

LVL 1

Author Comment

Sirbounty

If I have a string, AnITGuru .... it would under the current rules of the function be broken down to

An I T Guru

is it possible to change the coding so if we have two or more capitals in a row it only seperates the last one ?

So if we had

AnEXTRAA as the string - it would come out

An EXTRA A

And perhaps if string were "IAmEmployedByI.T.S.A" - it sould say

I Am Employed By I.T.S.A

I am willing to post another question - but did know how to follow on from here ... so if you have the answer, I will post a question for you for 500 points ...

MTIA

Darrin
0

LVL 67

Expert Comment

The first request wouldn't be too terrible complicated, but the others add a bit more to the logic.
You can open a new question, and in the body of the question, paste the link to this question, stating it's a followup.
I'll see if I can come up with something to do what you ask...
0

LVL 1

Author Comment

0

## Join & Write a Comment Already a member? Login.

### Suggested Solutions

When designing a form there are several BorderStyles to choose from, all of which can be classified as either 'Fixed' or 'Sizable' and I'd guess that 'Fixed Single' or one of the other fixed types is the most popular choice. I assume it's the most p…
I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

#### 744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

#### Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!