、次のコードは動作しません。javascriptで一致する部分の後にサブストリングを置き換える方法は?
var j = '/test/123=img?xyze'
j.replace(/=img\.*/, '');
どのように任意のアイデア?これのおかげで、
AC
、次のコードは動作しません。javascriptで一致する部分の後にサブストリングを置き換える方法は?
var j = '/test/123=img?xyze'
j.replace(/=img\.*/, '');
どのように任意のアイデア?これのおかげで、
AC
var j = '/test/123=img?xyze'
j=j.replace(/(=img)(.*)/, '$1_somethingElse');
console.log(j); // "/test/123=img_somethingElse"
$1
=img
であり、あなたがそれを必要に応じて、残りは$2
になります。
これは 'match'を使うほうが簡単でしょうか? – HelpingHand
ここでは文字列の終わりを置き換えるだけであれば、matchは動作しますが、 'replace'は必要に応じて文字列の真ん中から置き換えられるので、より堅牢です。文字列の置換を行う場合、 'replace'も自然選択のようです。マッチも動作しますが、私はそれが簡単だとは言いません。 – chiliNUT
私は、文字列の真ん中でマッチが置き換わることは確かです。私はこのように使用された交換を見たことがない...毎日何か新しいことを学ぶ! – HelpingHand
変更:あなたがそう望むならば
var j = '/test/123=img?xyze';
var replacementText = 'something-else';
j = j.match(/^.+?=img/i)[0] + replacementText;
そうでない場合は、下のこの小さなスニペットは、あなたが変更したいものを、周囲のクエリのすべての部分を与える:
var j = '/test/123=img?xyze';
var replacementText = 'something-else';
var parts = j.match(/^(.+?)(=img)(.+)$/i);
// /test/123=img?xyze : parts[0]
// /test/123 : parts[1]
// =img : parts[2]
// ?xyze : parts[3]
あなたは、その後の交換のためにこれを行うだろう:
j = parts[1] + parts[2] + replacementText;
彼は '= img'に続くものを別のものに置き換えたいと思っています。 –
おっと...ちょうどそれを見ました...ありがとう。 – HelpingHand
var j = '/test/123=img?xyze'
var x = j.substr(0, j.indexOf('=img')) + '=img'
console.log(x)
これは何か他のものでしょうか? – HelpingHand
'(part1)part2'のように最初の部分をグループ化し、' $ 1thing'によってrepaceします。 –
String.prototype.replaceは文字列を変更しません。置換が適用されたコピーを返します。 –