Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
StrTran() case insensitive
Message
From
08/07/2010 02:56:10
 
 
To
07/07/2010 16:35:57
General information
Forum:
ASP.NET
Category:
Coding, syntax and commands
Environment versions
Environment:
VB 9.0
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
MS SQL Server
Application:
Web
Miscellaneous
Thread ID:
01471738
Message ID:
01471814
Views:
44
Message#1458703 ? You can pass a StringComparison

The follow up does it with regex.




>I am using this for a StrTran() function followed by a similar function but in case insensitivity:
>
>
>        ' Equivalent of VFP StrTran()
>        ' expC1 String
>        ' expC2 Search for specific character
>        ' expC3 Replace
>        Public Function StrTran(ByVal tcSearchIn As String, ByVal tcSearchFor As String, _
>         ByVal tcReplace As String) As String
>            Dim loStringBuilder As StringBuilder = New StringBuilder(tcSearchIn)
>            Return loStringBuilder.Replace(tcSearchFor, tcReplace).ToString()
>        End Function
>
>        ' Equivalent of VFP StrTran() with case insensitive
>        ' expC1 String
>        ' expC2 Search for specific character
>        ' expC3 Replace
>        Public Function StrTranCaseInsensitive(ByVal tcSearchIn As String, ByVal tcSearchFor As String, _
>         ByVal tcReplace As String) As String
>            Dim lnLength As Integer = tcSearchIn.Length
>            Dim lnLengthSearchFor As Integer = tcSearchFor.Length
>            Dim lnLocation As Integer = 0
>            Dim loStringBuilder As New StringBuilder(lnLength)
>
>            ' Check inputs
>            If lnLength = 0 Or lnLengthSearchFor = 0 Or lnLengthSearchFor > lnLength Then
>                Return tcSearchIn
>            End If
>
>            While lnLocation + lnLengthSearchFor <= lnLength
>
>                If String.Compare(tcSearchIn, lnLocation, tcSearchFor, 0, lnLengthSearchFor, True) = 0 Then
>
>                    ' Add the replaced string
>                    loStringBuilder.Append(tcReplace)
>
>                    lnLocation = lnLocation + lnLengthSearchFor
>                Else
>
>                    ' Advance one character
>                    loStringBuilder.Append(tcSearchIn, lnLocation, 1)
>                    lnLocation = lnLocation + 1
>
>                End If
>
>            End While
>
>            ' Append remaining characters
>            loStringBuilder.Append(tcSearchIn, lnLocation, lnLength - lnLocation)
>
>            Return loStringBuilder.ToString()
>        End Function
>
>
>Would it there be a way to simplify the second method as we did for the first one?
Gregory
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform