devxlogo

Perform Faster String Manipulations

Perform Faster String Manipulations

Are you dealing with strings you have to parse if you want to drop one special character or change it into another? Keep this trick in mind. Even though this code seems to work fine, there is one minor problem that can cause headaches. The time you spend in memory allocation (line 7) increases dramatically in relation to the length of the processed string:

 Dim m_newtext, m_oldtext As StringDim i As Integer, m_c As Stringm_newtext = ""For i = 1 To Len(m_oldtext)	m_c = Mid(m_oldtext, i, 1)	If ParseTestFunction(m_c) Then		m_newtext = m_newtext & m_c	End IfNext i

Use this code instead:

 Dim m_newtext, m_oldtext As StringDim i As Integer, m_c As StringDim j As Integerm_newtext = m_oldtextj = 1For i = 1 To Len(m_oldtext)	m_c = Mid(m_oldtext, i, 1)	If ParseTestFunction(m_c) Then		Mid(m_newtext, j, 1) = m_c		j = j + 1	End IfNext IIf j > 1 Then	m_newtext = Left(m_newtext, j - 1)Else	m_newtext = ""End If

You can use the same technique when you parse for substrings. The improvement is obvious for large strings. Implement this with a 30K string and see the difference. It looks like a lot more code, but inserting a character into an existing string is always much faster than appending it.

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist