質問: 2 つの類似した文字の間の可変長文字列をどのように判断しますか?
明確にさせてください:
次の 2 つの URL を使用します。
/designs/2012/mobile/v4/~html/ecom/
/designs/2012/mobile/v4/~html/legal/
各行の現在のディレクトリの名前 (ecom、legal、local など) と同じ ID を持つアンカーを構築しようとしています。
したがって、上記のディレクトリは次のようなページになります。
<a href="/designs/2012/mobile/v4/~html/ecom/" id="ecom">/designs/2012/mobile/v4/~html/ecom/</a>
<a href="/designs/2012/mobile/v4/~html/legal/" id="legal">/designs/2012/mobile/v4/~html/legal/</a>
私は .lastIndexOf で遊んでいますが、ほとんど運がありません。(疑似コードを先に警告してください!) 「2 番目を最後に取得し、その文字列と最後の / の間の文字列を引っ張る」と言うことができるかどうかを考えましたが、それを行う方法がよくわかりません。
ヒントや指針はありますか?
これまでの私のコードは次のとおりです。
$(document).ready(function() {
$.ajax({
url: "./~html",
success: function(data){
$(data).find("a").each(function(){
var path = $(this).attr("href");
var fileNameIndex = path.lastIndexOf("/") + 1;
var dirNameIndex = path.lastIndexOf("/");
var dirNameLength = path.length -1;
var file = path.substr(fileNameIndex);
var directory = path.substr(dirNameIndex);
console.log("length of string: " + dirNameLength);
console.log("Directory Index: " + dirNameIndex);
console.log(directory);
var idIndex = 1;
if (file != "") {
$('<li></li>').html('<a href=\"' + path + '\">' + file + '</a>').appendTo('#files');
} else {
$('<li></li>').html('<a href=\"' + path + '\"' + 'id=\"' + directory + '\">' + path + '</a>').appendTo('#directories');
}
});
}
});
});