[Last Call] Learn about multicloud storage options and how to improve your company's cloud strategy. Register Now


Extract all first characters of any word in a text

Posted on 2014-01-24
Medium Priority
Last Modified: 2014-01-24
I have to write a programm that given a text (in a textbox), when runing, the result in another textbox is the first letter of every word the original text has in it. Ideally, the result shoud be in UPPER case and should have all points the original text have.

Textbox1.Text= "Our Father in heaven, hallowed be your name.
Your kingdom come, your will be done, on earth, as it is in heaven.
Give us this day our daily bread, and forgive us our debts, as we also have forgiven our debtors.
And lead us not into temptation, but deliver us from evil."

Result in Textbox2.Text should be the following:


I was thinking to use the Substring(0,1) function.
Question by:José Perez
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
LVL 52

Expert Comment

by:Carl Tawn
ID: 39806486
That would work. Simply split the string on the space character, to get an array, loop through and use Substring(0,1) to grab the first character from each word.

You could also do it with a Linq query, but that would depend on which version of .Net you are using.
LVL 53

Expert Comment

ID: 39806499

You could first clean the string to have only points as punctuation and then use split


and create a str looping your array with Substring(0,1)

LVL 27

Expert Comment

by:Shaun Kline
ID: 39806507
The results in your example is also including sentence punctuation. Is that also a requirement of your program?

The simplest means to do what you are looking for is to use the string.Split function and loop through the resulting array. If you need to include punctuation, you would split on the sentence terminator (period, question mark, exclamation mark) and then split on the space for each sentence in the array.
Learn Veeam advantages over legacy backup

Every day, more and more legacy backup customers switch to Veeam. Technologies designed for the client-server era cannot restore any IT service running in the hybrid cloud within seconds. Learn top Veeam advantages over legacy backup and get Veeam for the price of your renewal


Author Comment

by:José Perez
ID: 39806668
Carl Tawn:
Think we're almost done... I have coded the following, and put the result in a Messagebox and it is displaying each word as I desired, but now I have to write it to the Textbox2... can you tell how to put all together in just 1 string?

Public Class LetraXpalabra

    Private Sub btnAnalizar_Click(sender As Object, e As EventArgs) Handles btnAnalizar.Click
        Dim texto As String = txtTextoOriginal.Text 'original text
        Dim b As String() = texto.Split(" ".ToCharArray)
        'Dim a As String = a

        For Each palabra In b
            MessageBox.Show(palabra.Substring(0, 1))
    End Sub
End Class

Open in new window

LVL 52

Expert Comment

by:Carl Tawn
ID: 39806685
Change your For to:
Dim sb As New StringBuilder()
For Each palabra In b
    sb.Append(palabra.Substring(0, 1))

txtOutput.Text = sb.ToString()

Open in new window


Author Comment

by:José Perez
ID: 39806695
vb.net does not recognize "StringBuilder" should I have to import some library?
LVL 52

Accepted Solution

Carl Tawn earned 800 total points
ID: 39806711
It's in the System.Text namespace, so you might need to either add an Import directive at the top of your page:
Imports System.Text

Open in new window

Or, use the fully qualified name:
Dim sb As New System.Text.StringBuilder()

Open in new window

LVL 40
ID: 39807831
Good luck in deciphering the old lady prayer cards (that is what you are doing, isn't it?).

I read about that and it is both a fascinating and moving story.

Author Comment

by:José Perez
ID: 39807893
With this code it is done! and yes it is a fascinating story!
Thanks for your comment.
God bless you!

Featured Post

Ask an Anonymous Question!

Don't feel intimidated by what you don't know. Ask your question anonymously. It's easy! Learn more and upgrade.

Question has a verified solution.

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

After several hours of googling I could not gather any information on this topic. There are several ways of controlling the USB port connected to any storage device. The best example of that is by changing the registry value of "HKEY_LOCAL_MACHINE\S…
Entering time in Microsoft Access can be difficult. An input mask often bothers users more than helping them and won't catch all typing errors. This article shows how to create a textbox for 24-hour time input with full validation politely catching …
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…

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