文字列の特定の部分を置き換えるにはどうすればよいですか? YouTubeのURLでwatch
を交換例えば文字列全体ではなく、文字列の特定の部分を置き換えるにはどうすればよいですか?
https://www.youtube.com/timetest_video?v=M34TO71SKGk
へ
timedtest_video
https://www.youtube.com/watch?v=M34TO71SKGk
にのみ真ん中の鎖を変更します。
文字列の特定の部分を置き換えるにはどうすればよいですか? YouTubeのURLでwatch
を交換例えば文字列全体ではなく、文字列の特定の部分を置き換えるにはどうすればよいですか?
https://www.youtube.com/timetest_video?v=M34TO71SKGk
へ
timedtest_video
https://www.youtube.com/watch?v=M34TO71SKGk
にのみ真ん中の鎖を変更します。
.replace()
あなたのような何かができる:
シンプルreplace()
あなたがする必要はありません想定して可能不正確交換
があると
let url = 'https://www.youtube.com/watch?v=M34TO71SKGk';
url = url.replace('/watch?','/timetest_video?');
console.log(url);
上記の.replace()
は、あなたが望まないものを変更する可能性があります。例えば、
https://www.example.com/foo/bar/watch?join=yes
のようなURLが間違っ交換の
https://www.example.com/foo/bar/timetest_video?join=yes'
console.log('Incorrectly replaced:');
let url = 'https://www.example.com/foo/bar/watch?join=yes';
url = url.replace('/watch?','/timetest_video?');
console.log(url);
個人的には、正規表現を使用して、必要なURLと必要なURLの正確な場所で置き換えを行うことがより確実になりました。線に沿ってより多くの何か:
function replaceWatchInURL(url) {
return url.replace(/^([^:]*:(?:\/\/)?(?:[^\/]*\.)?youtube.com\/)watch\?/,'$1timetest_video?');
}
console.log('Correct replacement:');
let url = 'https://www.youtube.com/watch?v=M34TO71SKGk';
url = replaceWatchInURL(url);
console.log(url);
console.log('Correctly not replaced:');
url = 'https://www.example.com/foo/bar/watch?join=yes';
url = replaceWatchInURL(url);
console.log(url);
私は、人々がダウン投票を説明することは、強制的な希望であることを知っていますが、ダウン投票の理由を知ることはうれしいでしょう。特に、用意されたスニペットを使用してコードをテストすることができます。 – Makyen
新しいURLに更新し、現在のURLを取得した文字列を置換します。 – wOxxOm
基本的には、['.replace()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace)の使用方法を尋ねています。 – Makyen
'url = url.replace( '/ watch?'、 '/ timetest_video?');'のようなことができます。それはあなたが 'youtube.com'のURLに置き換えていることだけを確認する必要はないと仮定します。個人的には、正規表現を使用して、私が望む部分だけを置き換えることをより確実にしました。 url = url.replace(/ ^([^:] * :(?:\/\ /)?(?:[^ \ /] * \。)?youtube.com \ /) watch \?/、 '$ 1timetest_video?'); ' – Makyen