> ' 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 >>