(hatena (diary ’Nobuhisa)) このページをアンテナに追加 RSSフィード Twitter

18/03/26 :

[][] 全角・半角・ひらがな・カタカナ

アルファベットの大文字/小文字を区別せずに文字列を比較するのはよくあることですが、

全角・半角・ひらがな・カタカナに対応する方法もあるようです。


以前せっかく調べたので忘れないようにメモしておこう。

open System.Globalization

let contains (value:string) source =
    let compareInfo = CompareInfo.GetCompareInfo("ja-JP")
    let options =
        CompareOptions.IgnoreCase         // 大文字・小文字区別なし
        ||| CompareOptions.IgnoreKanaType // ひらがな・カタカナ区別なし
        ||| CompareOptions.IgnoreWidth    // 全角・半角区別なし
        
    compareInfo.IndexOf(source, value, options) > -1
    
let test () =
    "雨ニモマケズ" |> contains "まけず" |> printfn "%b" // true
    "全角でF#" |> contains "F#" |> printfn "%b" // true
    "F♯" |> contains "F#" |> printfn "%b" // false

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/Nobuhisa/20180326/p1