大文字小文字を使用すると "ß"が "SS"に変換されることがわかりました。しかし、2つの文字列が大文字と小文字を区別せずに等しいかどうか比較したい。 "gruß"と "GRUß"を比較するときは、 "gru"と "Gru"を比較するときと同じでなければなりません。 ドイツ語で大文字の "ß"はありません!対応する言語では他のキャラクタが利用できないことがわからないので、1:1の大文字の相手がいないキャラクタをすべてフィルタリングできませんでした。 どうすればいいですか?代わりに、上限または小文字に文字列 の変換ドイツ語の大文字小文字の大文字小文字
答えて
使用caseInsensitiveCompare()
:
let s1 = "gruß"
let s2 = "GRUß"
let eq = s1.caseInsensitiveCompare(s2) == .orderedSame
print(eq) // true
これは ユニコード規格に従って大文字と小文字を区別しない方法で文字列を比較します。
ロケール所与の任意に応じてあり、現在のロケールに応じ 比較を行いlocalizedCaseInsensitiveCompare()
もあり、大文字と小文字を区別しない比較用
s1.compare(s2, options: .caseInsensitive, locale: ...)
。
また、Unicodeマッピングのバリエーションに関する問題を避けるために、 'localizedCaseInsensitiveCompare'とも考えられます。 –
@CaseyFleser:はい、ありがとう! –
それは面白いです。大文字と小文字を区別せずに文字列が等しいかどうかをチェックしたいしかし、私にはそれはGruß!= GrussとGruß==grußとGruß!= GRUSSでなければなりません。その項目が存在するかどうかを迅速に判断するために、辞書のキーとして使用したいと思います。 –
「GRUß」は、あなたが主張している理由から、最初は非官能的です。あなたはコンピュータ上で任意のデータを投げることはできませんし、それを正常な方法で処理することを期待することはできません:-)あなたが無効な入力を処理しなければならない場合は、おそらくあなたが知っているくらいの事をきれいにする前処理段階が必要です。
、この作品(スウィフト3.0)と言った:実際に、2008年からドイツでの大文字 'SS' はあり
let grusz = "GRUß"
let gruss = "GRUSS"
if grusz.compare(gruss, options: .caseInsensitive) == .orderedSame {
print("MATCHES")
}
- 1. MIPS:大文字小文字
- 2. アセンブリ:大文字小文字
- 3. ランダム大文字 - 小文字
- 4. 大文字小文字のSQL注文
- 5. 数値大文字の小文字の小文字の和
- 6. 大文字小文字の大文字の表示なし
- 7. Cの大文字小文字から小文字へ
- 8. 文字列の上級チェック文字(大文字/小文字)
- 9. 大文字の小文字の検索 -
- 10. 大文字小文字の区別SSIS
- 11. 大文字と小文字の区別
- 12. 小文字と大文字のファイル名
- 13. 大文字と小文字の検索
- 14. 大文字小文字のグループ化
- 15. 大文字小文字のテスト - T-Sql
- 16. Solrキーワードの小文字と大文字
- 17. indexOf大文字小文字の区別?
- 18. 大文字小文字のステートメント
- 19. オートコンプリート検索の大文字/小文字
- 20. jQueryのinputmaskケーシング大文字/小文字
- 21. 大文字、小文字、Antプロパティを大文字にする
- 22. C大文字から小文字へ
- 23. 大文字小文字関数C
- 24. PHP検索大文字と小文字
- 25. gettext大文字と小文字
- 26. 大文字と小文字の区別から大文字小文字を区別しないものへ
- 27. 大文字または小文字の文字列
- 28. カラムの大文字小文字を「文字列」にする
- 29. 大文字/小文字の境界で分割文字列
- 30. 文字列の最初の文字の大文字/小文字の決定
:https://en.wikipedia.org/wiki/Capital_%E1 %BA%9E –
ありがとう、私はそれを知らなかった。しかし、私は年を取って、別の世紀のすべてのものを学びました! ;-) –