Buscar..


Sintaxis

  • normalize_string (s :: String, ...)

Parámetros

Parámetro Detalles
casefold=true Dobla la cadena a un caso canónico basado en el estándar Unicode .
stripmark=true Pele las marcas diacríticas (es decir, los acentos) de los caracteres en la cadena de entrada.

Comparación de cadenas insensibles a mayúsculas

Las cuerdas pueden compararse con el operador == en Julia, pero esto es sensible a las diferencias en el caso. Por ejemplo, "Hello" y "hello" se consideran cadenas diferentes.

julia> "Hello" == "Hello"
true

julia> "Hello" == "hello"
false

Para comparar las cadenas de una manera que no distingue entre mayúsculas y minúsculas, normalice las cuerdas plegándolas primero. Por ejemplo,

equals_ignore_case(s, t) =
    normalize_string(s, casefold=true) == normalize_string(t, casefold=true)

Este enfoque también maneja unicode no ASCII correctamente:

julia> equals_ignore_case("Hello", "hello")
true

julia> equals_ignore_case("Weierstraß", "WEIERSTRASS")
true

Tenga en cuenta que en alemán, la forma en mayúscula del carácter ß es SS.

Comparación de cuerdas diacrítico-insensibles

A veces, uno quiere cadenas como "resume" y "résumé" para comparar iguales. Es decir, los grafemas que comparten un glifo básico, pero posiblemente difieren debido a las adiciones a esos glifos básicos. Dicha comparación se puede realizar mediante la eliminación de marcas diacríticas.

equals_ignore_mark(s, t) =
    normalize_string(s, stripmark=true) == normalize_string(t, stripmark=true)

Esto permite que el ejemplo anterior funcione correctamente. Además, funciona bien incluso con caracteres Unicode que no son ASCII.

julia> equals_ignore_mark("resume", "résumé")
true

julia> equals_ignore_mark("αβγ", "ὰβ̂γ̆")
true


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow