0

パスが異なる URL を保持するクラス名「セパレーター」の divがありますが、各 URL に類似点が 1 つあります。私がしたことは、その div から URL を取得し、特定のパラメーターを置き換えることです。

HTML コード:

<div class="separator">
<a href="http://www.mydomain.com/images/s1600/photo.jpg"><img src="http://www.mydomain.com/images/s1600/photo.jpg" height="225" width="400" /></a>
</div>

JavaScript コードは次のとおりです。

var ImageSource = document.getElementsByClassName('separator')[0].getElementsByTagName('a')[0].href;
ImageSource = ImageSource.replace("0", "0-d");

このコードは正常に動作します。この値に 2 つのゼロがある場合、次のように出力されるため、最後の0fromのみをターゲットにしたいです。/s1600/

http://www.mydomain.com/images/s160-d0/photo.jpg

どちらにするべきか

http://www.mydomain.com/images/s1600-d/photo.jpg

いくつかの解決策を提案してください...ありがとう:)

4

2 に答える 2

1

おそらく正規表現が必要になるでしょう:

ImageSource = ImageSource.replace(/0(\D*)$/, "0-d$1");

つまり、「0 の後に一連の非数字文字が続き、文字列の最後まで一致し、非数字文字をキャプチャし、それらを0-dその後に続く非数字に置き換える」ということです。

詳細:

  • 0リテラルです ( a に一致0)。
  • およびキャプチャ グループ()定義します。
  • \Dは「非数字」を意味します (つまり、0 ~ 9ではありません)。
  • *「前のものの0個以上」を意味します(この場合、数字以外)。
  • $「文字列の終わり」という意味

置換文字列で$1、キャプチャ グループ内のテキストを参照します。

于 2013-08-05T06:30:48.497 に答える
1

0後にスラッシュを付けます。

ImageSource = ImageSource.replace(/0\//, '0-d/')
于 2013-08-05T06:31:57.087 に答える