rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

kotlin 文字列の一番後ろのドット以降に検索正規表現文字列が含まれていればtrueを返す関数

2021 Aug. 15.

kotlinで、文字列の一番後ろのドット以降に、検索正規表現文字列が(大文字小文字区別なしに)含まれていればtrueを返す関数

    /*
     * target文字列の一番後ろのピリオド以降にconditionStr正規表現文字列が含まれていればtrueを返す
     */
    private fun isMatchTail(target: String, conditionStr: String): Boolean {
        // target中の一番後ろのピリオド(ファイル拡張子の区切り)の場所を検出する
        val idxStr = target.lastIndexOf(".")
        if (idxStr < 0) {
            return false
        }
        // targetから、ピリオドから末尾までの文字列を切り出す
        val extenStr = target.substring(idxStr)
        // 切り出した文字列がconditionStrに一致するか調べる
        val regex = (conditionStr+"$").toRegex(RegexOption.IGNORE_CASE)
        return regex.containsMatchIn(extenStr)
    }