Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6793223
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T18:04:30+00:00 2026-05-26T18:04:30+00:00

I need to write a function to find the first non-repeating character in a

  • 0

I need to write a function to find the first non-repeating character in a string in VB.NET. Does the code below look ok?

Module Module2

Sub Main()
    ' Unit test
    ' Pass string as argument.
    Console.WriteLine(nonRepeat("BBEEXEE")

End Sub

Function nonRepeat(ByVal aString As String) As String

    Dim repeated As Integer = 0

    For i = 0 To aString.Length-1

        repeated = 0

        For j = 0 To aString.Length-1

            ' If inner and outer For loops are on the same index then
            ' inner For loop moves to next index and compares character 
            ' with outer For loop character.
            ' If characters are equal then set repeated = 1 and Exit inner For loop.
            ' Otherwise, continue to find repeating character
            ' If reached end of string without finding repeating character
            ' then non-repeating character has been found and is returned.

            If ((i <> j) AndAlso (aString(i) = aString(j))) Then

                ' Found repeating character 
                repeated = 1

                Exit For

            End If

        Next

        If (repeated = 0) Then

            ' Found first non-repeating character
            Return aString(i)

        End If
    Next

    Return ("No Non-Reapeating character!")

End Function

End Module
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T18:04:31+00:00Added an answer on May 26, 2026 at 6:04 pm

    No, your code will throw exceptions because your loops will run out of data to process. Your loops need to end as .Length -1. Otherwise, it should work.

    However, you could make it more efficient and handle edge cases:

        ' Don't bother checking if the string is empty
        If Not String.IsNullOrEmpty(asString) Then
            ' If the string is only a single character, just return it
            If asString.Length = 1 Then
                Return asString
            End If
    
            ' Create a collection that records the number of occurences for each character
            Dim cCharacterCounts As New System.Collections.Generic.Dictionary(Of Char, Integer)
    
            For Each cCharacter As Char In asString
                If cCharacterCounts.ContainsKey(cCharacter) Then
                    ' If the character exists, increment its count
                    cCharacterCounts(cCharacter) += 1
                Else
                    ' Otherwise record the character as a new entry, initializing the count to 1
                    cCharacterCounts.Add(cCharacter, 1)
                End If
            Next
    
            ' Now find the first character which only has a single count. This will be the first non-repeating value.
            For Each cCharacter As Char In cCharacterCounts.Keys
                If cCharacterCounts(cCharacter) > 1 Then
                    Return cCharacter.ToString()
                End If
            Next
        End If
    
        ' Handle the case in which there is no non-repeating character
        Return String.Empty
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I need to write a delegate function that can 'wrap' some while/try/catch code around
I need to write a little ruby function that does word wrapping. I have
I need to write a non-recursive version of the function sum-squares and Use a
I write my first module on nodejs. I need parse my site from google
I need to write a function that takes 4 bytes as input, performs a
I need to write a function that is passed an instance of a CharField.
I need to be able to write a function that shows repeated words from
Basically what I need to do is write a function that takes in a
I need to write, in JavaScript (I am using jQuery), a function that is
I need to write a function that can read a file, and add all

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.