user2671434
user2671434

Reputation: 13

How could I get the first and last letters from a string?

How can I get my program to take the first and last letters from an entered string?

Example: "I've been told I am a noob!"

Output: "IebntdIaman!"

I tried to use Split with no luck.

Upvotes: 0

Views: 926

Answers (2)

Enigmativity
Enigmativity

Reputation: 117027

This works nicely:

Dim example As String = "I've been told I am a noob!"

Dim result = New String( _
    example _
        .Split(" "c) _
        .SelectMany(Function (w) _
            If(w.Count() = 1, _
                new Char() { w(0) }, _
                New Char() { w.First(), w.Last() })) _
        .ToArray())
'IebntdIaman!

Upvotes: 0

Mark Hall
Mark Hall

Reputation: 54532

Try something like this. since you have a couple of single character words I used a conditional in order to get your desired output. I also am using the String.Split method that removes empty entries in order to prevent a zero length item, then I am taking the result and using the String.Substring Method to parse out your starting and ending chars.

Sub Main()
    Dim splitChar As String() = {" "}
    Dim example As String = " I've been told I am a noob!"
    Dim output As String = ""
    Dim result As String() = example.Split(splitChar, StringSplitOptions.RemoveEmptyEntries)
    For Each item In result
        If item.Length > 1 Then
            output += item.Substring(0, 1) & item.Substring(item.Length - 1, 1)
        Else
            output += item.Substring(0, 1)
        End If
    Next
    Console.WriteLine(output)
    Console.ReadLine()

End Sub

Upvotes: 1

Related Questions