I believe that these may be the characters of interest: Private Const AccentInFilter As String = "ÀÁÂÃÄÅĀĂĄăāąàáâãäåÇĆĊĈČćĉċčçĎĐďđĒÈÉÊËĔĖĘĚẼẽēĕėęěèéêëĜĞĠĢĝğġģĤĦħĥÌÍÎÏĨĪĬĮİĩīĭįıìíîïĴĵĶķĸĹĺĻĽŁļľĿŀłÑŃŅŇńņňʼnñŊŋÒÓÔÕÖŌŎŐØōŏőòóôõöðøŔŖŘŕŗřŚŜŞŠşŝśšŢŤŦţťŧÙÚÛÜŨŪŬŮŰŲũūŭůűųùúûüŴŵŶŸÝŷýÿŹŻŽżźž" Private Const AccentOutFilter As String = "AAAAAAAAAaaaaaaaaaCCCCCcccccDDddEEEEEEEEEEdeeeeeeeeeGGGGggggHHhhIIIIIIIIIiiiiiiiiiJjKkkLlllllllllNNNNnnnnnnnOOOOOOOOOooooooooooRRRrrrSSSSssssTTTtttUUUUUUUUUUuuuuuuuuuuWwYYYyyyZZZzzz" Each string is 181 characters in length.
On 12/01/2014 05:28 PM, Lewis Balentine wrote: > UGH, another stupid mistake on my part. > Well that having been corrected I offer the following: > > '------------------------ > ' Gambas module file > > ' The problem I have as an ignorant, narrow minded, English speaking > ' American is that I do not know of many accented characters .... :>( > Private Const AccentInFilter As String = "ŷŶũŨẽẼĩĨòåš" > Private Const AccentOutFilter As String = "yYuUeEiIoas" > > Public Sub Main() > Dim S As String > S = "This is a test: ŷŶũŨẽẼĩĨòåš" > Print S > S = StripAccentCharacters(S) > Print S > End > > Public Function StripAccentCharacters(InputString As String) As String > Return StringFilter(InputString, AccentInFilter, AccentOutFilter) > End > > Private Function StringFilter(InputString As String, InFilter As String, > OutFilter As String) As String > ' This would be much more efficent in "C" with single byte ASCII > characters > ' but with UTF-8 there are 1,2,3 and 4 byte characters. Thus we need > a higher > ' level functions to deal with variable size characters anyway. > Dim P, I As Integer > Dim C As String > Dim R As String = "" > > If InputString = "" Then Return R > For I = 1 To String.Len(InputString) > ' get the next character > C = String.Mid(InputString, I, 1) > ' try to locate the character in the input filter string > P = String.InStr(InFilter, C) > ' if found then > If P > 0 Then > ' use the character from the output filter string > R = R & Mid(OutFilter, P, 1) > Else > ' otherwise the character from the input string > R = R & C > Endif > Next > Return R > End > '------------------------------------------------------ > > This is a test: ŷŶũŨẽẼĩĨòåš > This is a test: yYuUeEiIoas > '------------------------------------------------------ > > The advantage to this approach is that that different Filter Strings and > Functions can be quickly constructed as needed for the desired > modifications. You could also use it to build a "one-timepad" encryption > algorithm (which is where I extracted it from --- some of my old VB6 code). > > > On 12/01/2014 04:42 PM, Charlie Reinl wrote: >> Am Montag, den 01.12.2014, 16:27 -0600 schrieb Lewis Balentine: >>>>> ...and read the documentation of InStr carefully again.<< >>> "This function only deal with ASCII strings. To manipulate UTF-8 >>> strings, use the String class." >>> >>> P = String.InStr("Ũ", "ŷŶũŨẽẼĩĨòåš", gb.Binary) >>> P = String.InStr("Ũ", "ŷŶũŨẽẼĩĨòåš", gb.IgnoreCase) >>> P = String.InStr("Ũ", "ŷŶũŨẽẼĩĨòåš") >>> P = String.InStr("Ũ", "xxxxŷŶũŨẽẼĩĨòåšXXXX", gb.Binary) >>> P = String.InStr("Ũ", "xxxxŷŶũŨẽẼĩĨòåšXXXX", gb.IgnoreCase) >>> P = String.InStr("Ũ", "xxxxŷŶũŨẽẼĩĨòåšXXXX") >>> >>> same result ... P=0 >>> >> Salut Lewis, >> >> Benoît said : and read the documentation of InStr carefully again. >> Me too re-read http://gambaswiki.org/wiki/comp/gb/string/instr , >> (inverse your arguments). >> >> InStr(String As String, Pattern As String ) >> > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk > _______________________________________________ > Gambas-user mailing list > Gambas-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gambas-user ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk _______________________________________________ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user