En pocas palabras, si la entrada está siempre en el mismo caso (aquí, minúscula), y si los caracteres son siempre ASCII, ¿se puede usar una cadena :: comparar para determinar confiablemente el orden alfabético de dos cadenas?¿Es la cadena :: comparar confiable para determinar el orden alfabético?
Por lo tanto, con stringA.compare(stringB)
si el resultado es 0, son lo mismo, si es negativo, la cadena A aparece antes de la secuencia B alfabéticamente, y si es positiva, ¿viene la cadena A?
IIRC, los apóstrofes y los guiones no son signos diacríticos, ¿verdad? – MPelletier
Correcto, ordenarán en orden ASCII. –
Generalmente, al alfabetizar, uno no tiene en cuenta los signos de puntuación para determinar el orden, por lo que la puntuación debe eliminarse de las cadenas. En cualquier caso, el apóstrofo y el guión están debajo de los intervalos alfabéticos en ASCII. –