アナログCPU:5108843109

ゲームと音楽とプログラミング(酒と女とロックンロールのノリで)

('ω') < イザユケエンジニャー

特定文字~特定文字の間の文字列を切り出す関数

を作ったのでメモ。

function strcut(str, start, end){
    var sidx = 0;
    var eidx = str.length;
    if (start != ""){
        sidx = str.indexOf(start) + start.length;
    }
    if (end != ""){
        eidx = str.indexOf(end);
    }
    if (sidx > eidx){
        return "";
    }
    return str.substring(sidx, eidx);
}

使い方と結果はこんな感じ。

var str = "/hoge.php?mainichi=everyday";
console.log( strcut(str, "/", ".php") );     // hoge
console.log( strcut(str, "", "?") );         // /hoge.php
console.log( strcut(str, "mainichi=", "") ); // everyday
console.log( strcut(str, ".php", "/") );     // (空文字)

ただし、単純に
「最初に見つかった開始文字列より後」から
「最初に見つかった終了文字列より前」を切り出しているだけなので
データによっては意図した結果にならないことに注意。

// 本当はたぶん「a」を取り出したいやつ
var str = "[[[a]]]";
console.log( strcut(str, "[", "]") ); // [[a