どうしてもRangeの仕組みが理解できず、開始インデックス~取得文字数を算出する方法が分かりません。
実装したい内容としては、開始インデックス~終了インデックスまでを取得するという内容です。
JAVAで実装している以下の構文をSwiftで実装する方法が分かりません。
教えて頂けますでしょうか。

// argContentHTML = ホームページのHTML
// HTMLをParse
// 先頭・最後インデックスを取得
intIDSearchIndex = argContentHTML.indexOf("tag1");
intIDFootSearchIndex = argContentHTML.indexOf("tag2",
                                            intIDSearchIndex + "tag1".length());

// インデックスが見つかったか判定
if(intIDSearchIndex == -1 ||
   intIDFootSearchIndex == -1){

    // どちらかのインデックスが見つからなかった場合、データ追加しない
}else{
    // 正常の場合、データ設定
    // Entry部からIDを取得
    strRet = argContentHTML.substring(intIDSearchIndex + "tag1".length(),
                                      intIDFootSearchIndex);
}