我想改變這一切後「= IMG」成別的東西,下面的代碼無法正常工作:如何在JavaScript中匹配部分之後替換子字符串?
var j = '/test/123=img?xyze'
j.replace(/=img\.*/, '');
任何想法如何?謝謝,
AC
我想改變這一切後「= IMG」成別的東西,下面的代碼無法正常工作:如何在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
如果你只是替換一個字符串的末尾,就像這裏匹配工程一樣,但'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'後面的東西。 – 2016-12-02 02:39:40
糟糕...只是看到了......謝謝。 – HelpingHand
var j = '/test/123=img?xyze'
var x = j.substr(0, j.indexOf('=img')) + '=img'
console.log(x)
那還會是別的嗎? – HelpingHand
將第一部分分組爲這樣:'(part1)part2'並用'$ 1thing'重新劃分空間 –
String.prototype.replace(您正在使用的)不會修改字符串。它會返回應用替換的副本。 –