Bonjour
Je n'arrives absolument pas à trouver une solution pour comparer 2 chaines
sans tenir compte des accents.
Le framework doit surement résoudre cela facilement sans que l'on fasse
une méthode propriétaire.
On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2 chaines
avec le même encodage mais je n'y arrives pas.
Si quelqu'un peut m'aiguiller çà serait sympa.
Merci d'avance
pascal
Bonjour
Je n'arrives absolument pas à trouver une solution pour comparer 2 chaines
sans tenir compte des accents.
Le framework doit surement résoudre cela facilement sans que l'on fasse
une méthode propriétaire.
On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2 chaines
avec le même encodage mais je n'y arrives pas.
Si quelqu'un peut m'aiguiller çà serait sympa.
Merci d'avance
pascal
Bonjour
Je n'arrives absolument pas à trouver une solution pour comparer 2 chaines
sans tenir compte des accents.
Le framework doit surement résoudre cela facilement sans que l'on fasse
une méthode propriétaire.
On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2 chaines
avec le même encodage mais je n'y arrives pas.
Si quelqu'un peut m'aiguiller çà serait sympa.
Merci d'avance
pascal
Bonjour
Je n'arrives absolument pas à trouver une solution pour comparer 2 chaines
sans tenir compte des accents.
Le framework doit surement résoudre cela facilement sans que l'on fasse
une méthode propriétaire.
On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2 chaines
avec le même encodage mais je n'y arrives pas.
Si quelqu'un peut m'aiguiller çà serait sympa.
Merci d'avance
pascal
Bonjour
Je n'arrives absolument pas à trouver une solution pour comparer 2 chaines
sans tenir compte des accents.
Le framework doit surement résoudre cela facilement sans que l'on fasse
une méthode propriétaire.
On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2 chaines
avec le même encodage mais je n'y arrives pas.
Si quelqu'un peut m'aiguiller çà serait sympa.
Merci d'avance
pascal
Bonjour
Je n'arrives absolument pas à trouver une solution pour comparer 2 chaines
sans tenir compte des accents.
Le framework doit surement résoudre cela facilement sans que l'on fasse
une méthode propriétaire.
On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2 chaines
avec le même encodage mais je n'y arrives pas.
Si quelqu'un peut m'aiguiller çà serait sympa.
Merci d'avance
pascal
Quid de lire la documentation?
bon chez moi j;ai que le framework en anglais alors chais pas si c'est
pareil en Francais mais:
si je tape (aie) string.compare dans l'index j'obtiens:
Performing Culture insensitive string comparison !!!!
using System.Globalization;
public class CompareSample
{
public static void Main()
{
String string1 = "file";
String string2 = "FILE";
int compareResult = String.Compare(string1, string2, false,
CultureInfo.InvariantCulture);
Console.WriteLine("A case-insensitive comparison of {0} and {1} is
{2}", string1, string2, compareResult);
}
}
"Faure-vincent Pascal" wrote in
news:
> Bonjour
>
> Je n'arrives absolument pas à trouver une solution pour comparer 2
> sans tenir compte des accents.
> Le framework doit surement résoudre cela facilement sans que l'on fasse
> une méthode propriétaire.
> On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2
> avec le même encodage mais je n'y arrives pas.
> Si quelqu'un peut m'aiguiller çà serait sympa.
> Merci d'avance
> pascal
>
>
>
>
Quid de lire la documentation?
bon chez moi j;ai que le framework en anglais alors chais pas si c'est
pareil en Francais mais:
si je tape (aie) string.compare dans l'index j'obtiens:
Performing Culture insensitive string comparison !!!!
using System.Globalization;
public class CompareSample
{
public static void Main()
{
String string1 = "file";
String string2 = "FILE";
int compareResult = String.Compare(string1, string2, false,
CultureInfo.InvariantCulture);
Console.WriteLine("A case-insensitive comparison of {0} and {1} is
{2}", string1, string2, compareResult);
}
}
"Faure-vincent Pascal" <pfaurevincent@val-informatique.com> wrote in
news:OBBqmAmzEHA.3548@TK2MSFTNGP09.phx.gbl...
> Bonjour
>
> Je n'arrives absolument pas à trouver une solution pour comparer 2
> sans tenir compte des accents.
> Le framework doit surement résoudre cela facilement sans que l'on fasse
> une méthode propriétaire.
> On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2
> avec le même encodage mais je n'y arrives pas.
> Si quelqu'un peut m'aiguiller çà serait sympa.
> Merci d'avance
> pascal
>
>
>
>
Quid de lire la documentation?
bon chez moi j;ai que le framework en anglais alors chais pas si c'est
pareil en Francais mais:
si je tape (aie) string.compare dans l'index j'obtiens:
Performing Culture insensitive string comparison !!!!
using System.Globalization;
public class CompareSample
{
public static void Main()
{
String string1 = "file";
String string2 = "FILE";
int compareResult = String.Compare(string1, string2, false,
CultureInfo.InvariantCulture);
Console.WriteLine("A case-insensitive comparison of {0} and {1} is
{2}", string1, string2, compareResult);
}
}
"Faure-vincent Pascal" wrote in
news:
> Bonjour
>
> Je n'arrives absolument pas à trouver une solution pour comparer 2
> sans tenir compte des accents.
> Le framework doit surement résoudre cela facilement sans que l'on fasse
> une méthode propriétaire.
> On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2
> avec le même encodage mais je n'y arrives pas.
> Si quelqu'un peut m'aiguiller çà serait sympa.
> Merci d'avance
> pascal
>
>
>
>
Bonsoir,
Si c'est pareil que pour le VB, cela ne répond pas au problème.
D'après ce que j'ai compris (et une solution "élégante" m'intéresse
également), Pascal souhaite que "e" soit non seulement égal à "E" mais
aussi
à "é" et "è".
Or l'option Compare Text du VB, sans doute équivalente à l'utilisation du
CultureInfo.InvariantCulture, donne bien "e"="E" mais "e"<"é", et même si
tous les caractères "e" accentués sont bien inférieurs à "f", cela me
paraît
difficilement exploitable pour conclure que "eeee" = "eéèê" par exemple.
"Lloyd Dupont" a écrit dans le message de
news:Quid de lire la documentation?
bon chez moi j;ai que le framework en anglais alors chais pas si c'est
pareil en Francais mais:
si je tape (aie) string.compare dans l'index j'obtiens:
Performing Culture insensitive string comparison !!!!
using System.Globalization;
public class CompareSample
{
public static void Main()
{
String string1 = "file";
String string2 = "FILE";
int compareResult = String.Compare(string1, string2, false,
CultureInfo.InvariantCulture);
Console.WriteLine("A case-insensitive comparison of {0} and {1}
is
{2}", string1, string2, compareResult);
}
}
"Faure-vincent Pascal" wrote in
messagenews:
> Bonjour
>
> Je n'arrives absolument pas à trouver une solution pour comparer 2
chaines> sans tenir compte des accents.
> Le framework doit surement résoudre cela facilement sans que l'on fasse
> une méthode propriétaire.
> On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2
chaines> avec le même encodage mais je n'y arrives pas.
> Si quelqu'un peut m'aiguiller çà serait sympa.
> Merci d'avance
> pascal
>
>
>
>
Bonsoir,
Si c'est pareil que pour le VB, cela ne répond pas au problème.
D'après ce que j'ai compris (et une solution "élégante" m'intéresse
également), Pascal souhaite que "e" soit non seulement égal à "E" mais
aussi
à "é" et "è".
Or l'option Compare Text du VB, sans doute équivalente à l'utilisation du
CultureInfo.InvariantCulture, donne bien "e"="E" mais "e"<"é", et même si
tous les caractères "e" accentués sont bien inférieurs à "f", cela me
paraît
difficilement exploitable pour conclure que "eeee" = "eéèê" par exemple.
"Lloyd Dupont" <ld@NewsAccount.galador.net> a écrit dans le message de
news:
uHADMh6zEHA.1292@TK2MSFTNGP10.phx.gbl...
Quid de lire la documentation?
bon chez moi j;ai que le framework en anglais alors chais pas si c'est
pareil en Francais mais:
si je tape (aie) string.compare dans l'index j'obtiens:
Performing Culture insensitive string comparison !!!!
using System.Globalization;
public class CompareSample
{
public static void Main()
{
String string1 = "file";
String string2 = "FILE";
int compareResult = String.Compare(string1, string2, false,
CultureInfo.InvariantCulture);
Console.WriteLine("A case-insensitive comparison of {0} and {1}
is
{2}", string1, string2, compareResult);
}
}
"Faure-vincent Pascal" <pfaurevincent@val-informatique.com> wrote in
message
news:OBBqmAmzEHA.3548@TK2MSFTNGP09.phx.gbl...
> Bonjour
>
> Je n'arrives absolument pas à trouver une solution pour comparer 2
chaines
> sans tenir compte des accents.
> Le framework doit surement résoudre cela facilement sans que l'on fasse
> une méthode propriétaire.
> On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2
chaines
> avec le même encodage mais je n'y arrives pas.
> Si quelqu'un peut m'aiguiller çà serait sympa.
> Merci d'avance
> pascal
>
>
>
>
Bonsoir,
Si c'est pareil que pour le VB, cela ne répond pas au problème.
D'après ce que j'ai compris (et une solution "élégante" m'intéresse
également), Pascal souhaite que "e" soit non seulement égal à "E" mais
aussi
à "é" et "è".
Or l'option Compare Text du VB, sans doute équivalente à l'utilisation du
CultureInfo.InvariantCulture, donne bien "e"="E" mais "e"<"é", et même si
tous les caractères "e" accentués sont bien inférieurs à "f", cela me
paraît
difficilement exploitable pour conclure que "eeee" = "eéèê" par exemple.
"Lloyd Dupont" a écrit dans le message de
news:Quid de lire la documentation?
bon chez moi j;ai que le framework en anglais alors chais pas si c'est
pareil en Francais mais:
si je tape (aie) string.compare dans l'index j'obtiens:
Performing Culture insensitive string comparison !!!!
using System.Globalization;
public class CompareSample
{
public static void Main()
{
String string1 = "file";
String string2 = "FILE";
int compareResult = String.Compare(string1, string2, false,
CultureInfo.InvariantCulture);
Console.WriteLine("A case-insensitive comparison of {0} and {1}
is
{2}", string1, string2, compareResult);
}
}
"Faure-vincent Pascal" wrote in
messagenews:
> Bonjour
>
> Je n'arrives absolument pas à trouver une solution pour comparer 2
chaines> sans tenir compte des accents.
> Le framework doit surement résoudre cela facilement sans que l'on fasse
> une méthode propriétaire.
> On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2
chaines> avec le même encodage mais je n'y arrives pas.
> Si quelqu'un peut m'aiguiller çà serait sympa.
> Merci d'avance
> pascal
>
>
>
>
en VB ca donne (direct de la doc):
Imports System
Imports System.Globalization
Public Class CompareSample
Public Shared Sub Main()
Dim string1 As String = "file"
Dim string2 As String = "FILE"
Dim compareResult As Integer = String.Compare(string1, string2, _
False, CultureInfo.InvariantCulture)
Console.WriteLine("A case-insensitive comparison of {0} and {1} is
{2}", string1, string2, compareResult)
End Sub
End Class
"Fred" wrote in message
news:%237Ibih$
> Bonsoir,
> Si c'est pareil que pour le VB, cela ne répond pas au problème.
> D'après ce que j'ai compris (et une solution "élégante" m'intéresse
> également), Pascal souhaite que "e" soit non seulement égal à "E" mais
> aussi
> à "é" et "è".
> Or l'option Compare Text du VB, sans doute équivalente à l'utilisation
> CultureInfo.InvariantCulture, donne bien "e"="E" mais "e"<"é", et même
> tous les caractères "e" accentués sont bien inférieurs à "f", cela me
> paraît
> difficilement exploitable pour conclure que "eeee" = "eéèê" par exemple.
>
>
> "Lloyd Dupont" a écrit dans le message de
> news:
>
>> Quid de lire la documentation?
>> bon chez moi j;ai que le framework en anglais alors chais pas si c'est
>> pareil en Francais mais:
>>
>> si je tape (aie) string.compare dans l'index j'obtiens:
>> Performing Culture insensitive string comparison !!!!
>>
>> using System.Globalization;
>>
>> public class CompareSample
>> {
>> public static void Main()
>> {
>> String string1 = "file";
>> String string2 = "FILE";
>>
>> int compareResult = String.Compare(string1, string2, false,
>> CultureInfo.InvariantCulture);
>> Console.WriteLine("A case-insensitive comparison of {0} and {1}
>> is
>> {2}", string1, string2, compareResult);
>> }
>> }
>>
>>
>> "Faure-vincent Pascal" wrote in
> message
>> news:
>> > Bonjour
>> >
>> > Je n'arrives absolument pas à trouver une solution pour comparer 2
> chaines
>> > sans tenir compte des accents.
>> > Le framework doit surement résoudre cela facilement sans que l'on
>> > une méthode propriétaire.
>> > On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2
> chaines
>> > avec le même encodage mais je n'y arrives pas.
>> > Si quelqu'un peut m'aiguiller çà serait sympa.
>> > Merci d'avance
>> > pascal
>> >
>> >
>> >
>> >
>>
>>
>
>
en VB ca donne (direct de la doc):
Imports System
Imports System.Globalization
Public Class CompareSample
Public Shared Sub Main()
Dim string1 As String = "file"
Dim string2 As String = "FILE"
Dim compareResult As Integer = String.Compare(string1, string2, _
False, CultureInfo.InvariantCulture)
Console.WriteLine("A case-insensitive comparison of {0} and {1} is
{2}", string1, string2, compareResult)
End Sub
End Class
"Fred" <no@spam.com> wrote in message
news:%237Ibih$zEHA.2568@TK2MSFTNGP11.phx.gbl...
> Bonsoir,
> Si c'est pareil que pour le VB, cela ne répond pas au problème.
> D'après ce que j'ai compris (et une solution "élégante" m'intéresse
> également), Pascal souhaite que "e" soit non seulement égal à "E" mais
> aussi
> à "é" et "è".
> Or l'option Compare Text du VB, sans doute équivalente à l'utilisation
> CultureInfo.InvariantCulture, donne bien "e"="E" mais "e"<"é", et même
> tous les caractères "e" accentués sont bien inférieurs à "f", cela me
> paraît
> difficilement exploitable pour conclure que "eeee" = "eéèê" par exemple.
>
>
> "Lloyd Dupont" <ld@NewsAccount.galador.net> a écrit dans le message de
> news:
> uHADMh6zEHA.1292@TK2MSFTNGP10.phx.gbl...
>> Quid de lire la documentation?
>> bon chez moi j;ai que le framework en anglais alors chais pas si c'est
>> pareil en Francais mais:
>>
>> si je tape (aie) string.compare dans l'index j'obtiens:
>> Performing Culture insensitive string comparison !!!!
>>
>> using System.Globalization;
>>
>> public class CompareSample
>> {
>> public static void Main()
>> {
>> String string1 = "file";
>> String string2 = "FILE";
>>
>> int compareResult = String.Compare(string1, string2, false,
>> CultureInfo.InvariantCulture);
>> Console.WriteLine("A case-insensitive comparison of {0} and {1}
>> is
>> {2}", string1, string2, compareResult);
>> }
>> }
>>
>>
>> "Faure-vincent Pascal" <pfaurevincent@val-informatique.com> wrote in
> message
>> news:OBBqmAmzEHA.3548@TK2MSFTNGP09.phx.gbl...
>> > Bonjour
>> >
>> > Je n'arrives absolument pas à trouver une solution pour comparer 2
> chaines
>> > sans tenir compte des accents.
>> > Le framework doit surement résoudre cela facilement sans que l'on
>> > une méthode propriétaire.
>> > On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2
> chaines
>> > avec le même encodage mais je n'y arrives pas.
>> > Si quelqu'un peut m'aiguiller çà serait sympa.
>> > Merci d'avance
>> > pascal
>> >
>> >
>> >
>> >
>>
>>
>
>
en VB ca donne (direct de la doc):
Imports System
Imports System.Globalization
Public Class CompareSample
Public Shared Sub Main()
Dim string1 As String = "file"
Dim string2 As String = "FILE"
Dim compareResult As Integer = String.Compare(string1, string2, _
False, CultureInfo.InvariantCulture)
Console.WriteLine("A case-insensitive comparison of {0} and {1} is
{2}", string1, string2, compareResult)
End Sub
End Class
"Fred" wrote in message
news:%237Ibih$
> Bonsoir,
> Si c'est pareil que pour le VB, cela ne répond pas au problème.
> D'après ce que j'ai compris (et une solution "élégante" m'intéresse
> également), Pascal souhaite que "e" soit non seulement égal à "E" mais
> aussi
> à "é" et "è".
> Or l'option Compare Text du VB, sans doute équivalente à l'utilisation
> CultureInfo.InvariantCulture, donne bien "e"="E" mais "e"<"é", et même
> tous les caractères "e" accentués sont bien inférieurs à "f", cela me
> paraît
> difficilement exploitable pour conclure que "eeee" = "eéèê" par exemple.
>
>
> "Lloyd Dupont" a écrit dans le message de
> news:
>
>> Quid de lire la documentation?
>> bon chez moi j;ai que le framework en anglais alors chais pas si c'est
>> pareil en Francais mais:
>>
>> si je tape (aie) string.compare dans l'index j'obtiens:
>> Performing Culture insensitive string comparison !!!!
>>
>> using System.Globalization;
>>
>> public class CompareSample
>> {
>> public static void Main()
>> {
>> String string1 = "file";
>> String string2 = "FILE";
>>
>> int compareResult = String.Compare(string1, string2, false,
>> CultureInfo.InvariantCulture);
>> Console.WriteLine("A case-insensitive comparison of {0} and {1}
>> is
>> {2}", string1, string2, compareResult);
>> }
>> }
>>
>>
>> "Faure-vincent Pascal" wrote in
> message
>> news:
>> > Bonjour
>> >
>> > Je n'arrives absolument pas à trouver une solution pour comparer 2
> chaines
>> > sans tenir compte des accents.
>> > Le framework doit surement résoudre cela facilement sans que l'on
>> > une méthode propriétaire.
>> > On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2
> chaines
>> > avec le même encodage mais je n'y arrives pas.
>> > Si quelqu'un peut m'aiguiller çà serait sympa.
>> > Merci d'avance
>> > pascal
>> >
>> >
>> >
>> >
>>
>>
>
>
Bonjour
Je n'arrives absolument pas à trouver une solution pour comparer 2 chaines
sans tenir compte des accents.
Le framework doit surement résoudre cela facilement sans que l'on fasse
une méthode propriétaire.
On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2 chaines
avec le même encodage mais je n'y arrives pas.
Si quelqu'un peut m'aiguiller çà serait sympa.
Merci d'avance
pascal
Bonjour
Je n'arrives absolument pas à trouver une solution pour comparer 2 chaines
sans tenir compte des accents.
Le framework doit surement résoudre cela facilement sans que l'on fasse
une méthode propriétaire.
On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2 chaines
avec le même encodage mais je n'y arrives pas.
Si quelqu'un peut m'aiguiller çà serait sympa.
Merci d'avance
pascal
Bonjour
Je n'arrives absolument pas à trouver une solution pour comparer 2 chaines
sans tenir compte des accents.
Le framework doit surement résoudre cela facilement sans que l'on fasse
une méthode propriétaire.
On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2 chaines
avec le même encodage mais je n'y arrives pas.
Si quelqu'un peut m'aiguiller çà serait sympa.
Merci d'avance
pascal
Bonjour,
J'ai bien compris. J'ai, moi aussi, lu la doc, et en plus j'ai testé
l'exemple de code.
Première chose : cet exemple renvoie l'égalité des deux chaînes si le
paramètre IgnoreCase est à True et non False.
Deuxième chose : comme je le signalais les caracères e accentués ne sont
pas
considérés comme égaux à e, mais supérieurs à e.
"Lloyd Dupont" a écrit dans le message de
news:en VB ca donne (direct de la doc):
Imports System
Imports System.Globalization
Public Class CompareSample
Public Shared Sub Main()
Dim string1 As String = "file"
Dim string2 As String = "FILE"
Dim compareResult As Integer = String.Compare(string1, string2, _
False, CultureInfo.InvariantCulture)
Console.WriteLine("A case-insensitive comparison of {0} and {1}
is
_{2}", string1, string2, compareResult)
End Sub
End Class
"Fred" wrote in message
news:%237Ibih$
> Bonsoir,
> Si c'est pareil que pour le VB, cela ne répond pas au problème.
> D'après ce que j'ai compris (et une solution "élégante" m'intéresse
> également), Pascal souhaite que "e" soit non seulement égal à "E" mais
> aussi
> à "é" et "è".
> Or l'option Compare Text du VB, sans doute équivalente à l'utilisation
du> CultureInfo.InvariantCulture, donne bien "e"="E" mais "e"<"é", et même
si> tous les caractères "e" accentués sont bien inférieurs à "f", cela me
> paraît
> difficilement exploitable pour conclure que "eeee" = "eéèê" par
> exemple.
>
>
> "Lloyd Dupont" a écrit dans le message de
> news:
>
>> Quid de lire la documentation?
>> bon chez moi j;ai que le framework en anglais alors chais pas si c'est
>> pareil en Francais mais:
>>
>> si je tape (aie) string.compare dans l'index j'obtiens:
>> Performing Culture insensitive string comparison !!!!
>>
>> using System.Globalization;
>>
>> public class CompareSample
>> {
>> public static void Main()
>> {
>> String string1 = "file";
>> String string2 = "FILE";
>>
>> int compareResult = String.Compare(string1, string2, false,
>> CultureInfo.InvariantCulture);
>> Console.WriteLine("A case-insensitive comparison of {0} and
>> {1}
>> is
>> {2}", string1, string2, compareResult);
>> }
>> }
>>
>>
>> "Faure-vincent Pascal" wrote in
> message
>> news:
>> > Bonjour
>> >
>> > Je n'arrives absolument pas à trouver une solution pour comparer 2
> chaines
>> > sans tenir compte des accents.
>> > Le framework doit surement résoudre cela facilement sans que l'on
fasse>> > une méthode propriétaire.
>> > On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2
> chaines
>> > avec le même encodage mais je n'y arrives pas.
>> > Si quelqu'un peut m'aiguiller çà serait sympa.
>> > Merci d'avance
>> > pascal
>> >
>> >
>> >
>> >
>>
>>
>
>
Bonjour,
J'ai bien compris. J'ai, moi aussi, lu la doc, et en plus j'ai testé
l'exemple de code.
Première chose : cet exemple renvoie l'égalité des deux chaînes si le
paramètre IgnoreCase est à True et non False.
Deuxième chose : comme je le signalais les caracères e accentués ne sont
pas
considérés comme égaux à e, mais supérieurs à e.
"Lloyd Dupont" <ld@NewsAccount.galador.net> a écrit dans le message de
news:uM531rD0EHA.3808@tk2msftngp13.phx.gbl...
en VB ca donne (direct de la doc):
Imports System
Imports System.Globalization
Public Class CompareSample
Public Shared Sub Main()
Dim string1 As String = "file"
Dim string2 As String = "FILE"
Dim compareResult As Integer = String.Compare(string1, string2, _
False, CultureInfo.InvariantCulture)
Console.WriteLine("A case-insensitive comparison of {0} and {1}
is
_
{2}", string1, string2, compareResult)
End Sub
End Class
"Fred" <no@spam.com> wrote in message
news:%237Ibih$zEHA.2568@TK2MSFTNGP11.phx.gbl...
> Bonsoir,
> Si c'est pareil que pour le VB, cela ne répond pas au problème.
> D'après ce que j'ai compris (et une solution "élégante" m'intéresse
> également), Pascal souhaite que "e" soit non seulement égal à "E" mais
> aussi
> à "é" et "è".
> Or l'option Compare Text du VB, sans doute équivalente à l'utilisation
du
> CultureInfo.InvariantCulture, donne bien "e"="E" mais "e"<"é", et même
si
> tous les caractères "e" accentués sont bien inférieurs à "f", cela me
> paraît
> difficilement exploitable pour conclure que "eeee" = "eéèê" par
> exemple.
>
>
> "Lloyd Dupont" <ld@NewsAccount.galador.net> a écrit dans le message de
> news:
> uHADMh6zEHA.1292@TK2MSFTNGP10.phx.gbl...
>> Quid de lire la documentation?
>> bon chez moi j;ai que le framework en anglais alors chais pas si c'est
>> pareil en Francais mais:
>>
>> si je tape (aie) string.compare dans l'index j'obtiens:
>> Performing Culture insensitive string comparison !!!!
>>
>> using System.Globalization;
>>
>> public class CompareSample
>> {
>> public static void Main()
>> {
>> String string1 = "file";
>> String string2 = "FILE";
>>
>> int compareResult = String.Compare(string1, string2, false,
>> CultureInfo.InvariantCulture);
>> Console.WriteLine("A case-insensitive comparison of {0} and
>> {1}
>> is
>> {2}", string1, string2, compareResult);
>> }
>> }
>>
>>
>> "Faure-vincent Pascal" <pfaurevincent@val-informatique.com> wrote in
> message
>> news:OBBqmAmzEHA.3548@TK2MSFTNGP09.phx.gbl...
>> > Bonjour
>> >
>> > Je n'arrives absolument pas à trouver une solution pour comparer 2
> chaines
>> > sans tenir compte des accents.
>> > Le framework doit surement résoudre cela facilement sans que l'on
fasse
>> > une méthode propriétaire.
>> > On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2
> chaines
>> > avec le même encodage mais je n'y arrives pas.
>> > Si quelqu'un peut m'aiguiller çà serait sympa.
>> > Merci d'avance
>> > pascal
>> >
>> >
>> >
>> >
>>
>>
>
>
Bonjour,
J'ai bien compris. J'ai, moi aussi, lu la doc, et en plus j'ai testé
l'exemple de code.
Première chose : cet exemple renvoie l'égalité des deux chaînes si le
paramètre IgnoreCase est à True et non False.
Deuxième chose : comme je le signalais les caracères e accentués ne sont
pas
considérés comme égaux à e, mais supérieurs à e.
"Lloyd Dupont" a écrit dans le message de
news:en VB ca donne (direct de la doc):
Imports System
Imports System.Globalization
Public Class CompareSample
Public Shared Sub Main()
Dim string1 As String = "file"
Dim string2 As String = "FILE"
Dim compareResult As Integer = String.Compare(string1, string2, _
False, CultureInfo.InvariantCulture)
Console.WriteLine("A case-insensitive comparison of {0} and {1}
is
_{2}", string1, string2, compareResult)
End Sub
End Class
"Fred" wrote in message
news:%237Ibih$
> Bonsoir,
> Si c'est pareil que pour le VB, cela ne répond pas au problème.
> D'après ce que j'ai compris (et une solution "élégante" m'intéresse
> également), Pascal souhaite que "e" soit non seulement égal à "E" mais
> aussi
> à "é" et "è".
> Or l'option Compare Text du VB, sans doute équivalente à l'utilisation
du> CultureInfo.InvariantCulture, donne bien "e"="E" mais "e"<"é", et même
si> tous les caractères "e" accentués sont bien inférieurs à "f", cela me
> paraît
> difficilement exploitable pour conclure que "eeee" = "eéèê" par
> exemple.
>
>
> "Lloyd Dupont" a écrit dans le message de
> news:
>
>> Quid de lire la documentation?
>> bon chez moi j;ai que le framework en anglais alors chais pas si c'est
>> pareil en Francais mais:
>>
>> si je tape (aie) string.compare dans l'index j'obtiens:
>> Performing Culture insensitive string comparison !!!!
>>
>> using System.Globalization;
>>
>> public class CompareSample
>> {
>> public static void Main()
>> {
>> String string1 = "file";
>> String string2 = "FILE";
>>
>> int compareResult = String.Compare(string1, string2, false,
>> CultureInfo.InvariantCulture);
>> Console.WriteLine("A case-insensitive comparison of {0} and
>> {1}
>> is
>> {2}", string1, string2, compareResult);
>> }
>> }
>>
>>
>> "Faure-vincent Pascal" wrote in
> message
>> news:
>> > Bonjour
>> >
>> > Je n'arrives absolument pas à trouver une solution pour comparer 2
> chaines
>> > sans tenir compte des accents.
>> > Le framework doit surement résoudre cela facilement sans que l'on
fasse>> > une méthode propriétaire.
>> > On m'a parlé d'utiliser la classe StreamBuilder pour encoder les 2
> chaines
>> > avec le même encodage mais je n'y arrives pas.
>> > Si quelqu'un peut m'aiguiller çà serait sympa.
>> > Merci d'avance
>> > pascal
>> >
>> >
>> >
>> >
>>
>>
>
>
Je n'arrives absolument pas à trouver une solution pour comparer 2
chaines sans tenir compte des accents.
Le framework doit surement résoudre cela facilement sans que l'on
fasse une méthode propriétaire.
Je n'arrives absolument pas à trouver une solution pour comparer 2
chaines sans tenir compte des accents.
Le framework doit surement résoudre cela facilement sans que l'on
fasse une méthode propriétaire.
Je n'arrives absolument pas à trouver une solution pour comparer 2
chaines sans tenir compte des accents.
Le framework doit surement résoudre cela facilement sans que l'on
fasse une méthode propriétaire.
Faure-vincent Pascal a e?crit :Je n'arrives absolument pas à trouver une solution pour comparer 2
chaines sans tenir compte des accents.
Le framework doit surement résoudre cela facilement sans que l'on
fasse une méthode propriétaire.
Le framework seulement ne le permet pas, mais sous NT on peut utiliser
l'API FoldString pour convertir les lettres accentue?es en lettre de base
+ accent combinant, puis e?liminer les accents combinants.
C?a donne quelque chose comme :
string strComposite = new string(' ', buffSize);
FoldString(MAP_COMPOSITE, strSource, strSource.Length, strComposite,
buffSize);
strComposite.TrimEnd(' ');
StringBuilder unaccentedString = new StringBuilder();
foreach(char c in strComposite)
{
if(char.GetUnicodeCategory(c) != UnicodeCategory.ModifierLetter)
unaccentedString.Append(c);
}
Et ensuite on n'a plus qu'a` comparer les deux chai^nes «
de?saccentue?es ».
Inconve?nient : c?a ne marche pas sous Windows 9x.
--
Sylvain Collange
Faure-vincent Pascal a e?crit :
Je n'arrives absolument pas à trouver une solution pour comparer 2
chaines sans tenir compte des accents.
Le framework doit surement résoudre cela facilement sans que l'on
fasse une méthode propriétaire.
Le framework seulement ne le permet pas, mais sous NT on peut utiliser
l'API FoldString pour convertir les lettres accentue?es en lettre de base
+ accent combinant, puis e?liminer les accents combinants.
C?a donne quelque chose comme :
string strComposite = new string(' ', buffSize);
FoldString(MAP_COMPOSITE, strSource, strSource.Length, strComposite,
buffSize);
strComposite.TrimEnd(' ');
StringBuilder unaccentedString = new StringBuilder();
foreach(char c in strComposite)
{
if(char.GetUnicodeCategory(c) != UnicodeCategory.ModifierLetter)
unaccentedString.Append(c);
}
Et ensuite on n'a plus qu'a` comparer les deux chai^nes «
de?saccentue?es ».
Inconve?nient : c?a ne marche pas sous Windows 9x.
--
Sylvain Collange
Faure-vincent Pascal a e?crit :Je n'arrives absolument pas à trouver une solution pour comparer 2
chaines sans tenir compte des accents.
Le framework doit surement résoudre cela facilement sans que l'on
fasse une méthode propriétaire.
Le framework seulement ne le permet pas, mais sous NT on peut utiliser
l'API FoldString pour convertir les lettres accentue?es en lettre de base
+ accent combinant, puis e?liminer les accents combinants.
C?a donne quelque chose comme :
string strComposite = new string(' ', buffSize);
FoldString(MAP_COMPOSITE, strSource, strSource.Length, strComposite,
buffSize);
strComposite.TrimEnd(' ');
StringBuilder unaccentedString = new StringBuilder();
foreach(char c in strComposite)
{
if(char.GetUnicodeCategory(c) != UnicodeCategory.ModifierLetter)
unaccentedString.Append(c);
}
Et ensuite on n'a plus qu'a` comparer les deux chai^nes «
de?saccentue?es ».
Inconve?nient : c?a ne marche pas sous Windows 9x.
--
Sylvain Collange