私はスライス()と検索()の組み合わせを使って最後にファイル拡張子を削除するために、指定された文字列を編集しようとしていました。しかし、search()を使用すると、var vNamePreparedが空になります。なぜlastIndexOf()が動作し、search()が動作しないのですか?
function site_change() {
var vDocGrabber = "indexmobile.html",
vNamePrepared = vDocGrabber.slice(0, vDocGrabber.search("."));
/*transform vNamePrepared in some way*/
document.getElementById("demo").innerHTML = vNamePrepared + ".php";}
また、search()をlastIndexOf()に置き換えたそのコードは、望ましい結果をもたらしました。
function site_change() {
var vDocGrabber = "indexmobile.html",
vNamePrepared = vDocGrabber.slice(0, vDocGrabber.lastIndexOf("."));
/*transform vNamePrepared in some way*/
document.getElementById("demo").innerHTML = vNamePrepared + ".php";}
--> indexmobile.php
ここで検索()は動作しません。ピリオドのインデックスをslice()に整数として返しませんか?
最初の質問ですが、それが標準ではない場合はお詫び申し上げます。
詳細情報(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/ search) –
'String.search(String)'はありません。最も近いのは 'String.includes(String)'です。これはインデックスを返さない – adeneo
@adeneo文字列が[String.search ](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search)。 –