Julia Language
स्ट्रिंग सामान्यीकरण
खोज…
वाक्य - विन्यास
- normalize_string (s :: स्ट्रिंग, ...)
पैरामीटर
पैरामीटर | विवरण |
---|---|
casefold=true | यूनिकोड मानक के आधार पर एक विहित मामले में स्ट्रिंग को मोड़ो। |
stripmark=true | इनपुट स्ट्रिंग में वर्णों से स्ट्रिप डियाक्रिटिकल मार्क्स (यानी उच्चारण)। |
केस-असंवेदनशील स्ट्रिंग तुलना
जूलिया में ==
ऑपरेटर के साथ स्ट्रिंग्स की तुलना की जा सकती है, लेकिन यह मामले में अंतर के प्रति संवेदनशील है। उदाहरण के लिए, "Hello"
और "hello"
को अलग-अलग तार माना जाता है।
julia> "Hello" == "Hello"
true
julia> "Hello" == "hello"
false
केस-असंवेदनशील तरीके से स्ट्रिंग्स की तुलना करने के लिए, केस-फोल्ड करके स्ट्रिंग्स को सामान्य करें। उदाहरण के लिए,
equals_ignore_case(s, t) =
normalize_string(s, casefold=true) == normalize_string(t, casefold=true)
यह दृष्टिकोण गैर- ASCII यूनिकोड को भी सही ढंग से संभालता है:
julia> equals_ignore_case("Hello", "hello")
true
julia> equals_ignore_case("Weierstraß", "WEIERSTRASS")
true
ध्यान दें कि जर्मन में, in वर्ण का अपरकेस रूप SS है।
Diacritic- असंवेदनशील स्ट्रिंग तुलना
कभी कभी, एक की तरह तार चाहता है "resume"
और "résumé"
बराबर की तुलना। यही है, अंगूर जो एक बुनियादी ग्लिफ़ साझा करते हैं, लेकिन संभवतः उन मूल ग्लिफ़ के अतिरिक्त होने के कारण भिन्न होते हैं। इस तरह की तुलना विशेषण के निशान को हटाकर पूरी की जा सकती है।
equals_ignore_mark(s, t) =
normalize_string(s, stripmark=true) == normalize_string(t, stripmark=true)
यह उपरोक्त उदाहरण को सही ढंग से काम करने की अनुमति देता है। इसके अतिरिक्त, यह गैर- ASCII यूनिकोड वर्णों के साथ भी अच्छा काम करता है।
julia> equals_ignore_mark("resume", "résumé")
true
julia> equals_ignore_mark("αβγ", "ὰβ̂γ̆")
true