文字列から最後の番号を交換してください:私は次のような構造を持つ文字列のURLを持っている
URL /受信トレイ/ G/{PAGE_NUMBER}
私は{page_number}
を交換する必要がある状況にいます新しい価値をもってだから私は何とかurl/inbox/g
を検索し、それをurl/inbox/g/{new_value}
と置き換える必要があります。
使用方法replace()
これを行うには?
文字列から最後の番号を交換してください:私は次のような構造を持つ文字列のURLを持っている
URL /受信トレイ/ G/{PAGE_NUMBER}
私は{page_number}
を交換する必要がある状況にいます新しい価値をもってだから私は何とかurl/inbox/g
を検索し、それをurl/inbox/g/{new_value}
と置き換える必要があります。
使用方法replace()
これを行うには?
は、文字列の最後の部分である、あなたはlastIndexOf
とslice
を使用して、非正規表現のソリューションを使用することがあります。
<script>
url = 'url/inbox/g/44';
replaceNumStr = 'Dummy';
newVal = url.slice(0,url.lastIndexOf('/')+1);
alert(newVal+replaceNumStr);
</script>
チェックアウトthis demo
私はすべての答えから学んだが、私はこれを使用した。ありがとう –
は次のように声明を置き換える使用します。私はurl
が動的にアクセスされたと仮定しています
var newVal = 'anything',
pattern = "/url\/inbox\/g\/\d+$/",
reg = new RegExp(pattern, "i");
repURL = url.replace(reg, "url/inbox/g/" + newVal);
を。
ありがとう、私はあなたのRegExpとフィードバックを使用しようとします –
私は次の正規表現を使用します:/\/\d*$/m
や交換をして行うことができる:n
は新しい価値
正規表現がが一致するすべてのものを見つけると言うにある
str.replace(/\/\d*$/m, "/" + n)
「/」を0桁以上の数字が続き、文字列はで終了します。 Reference
ありがとう、私はあなたのRegExpとフィードバックを使用しようとします –
2つの可能性があり、RegExpを使用していません。数に
const url = 'url/inbox/g/{page_number}';
const parts = url.split('/', 3);
const new_number = '{new_page_number}';
parts.push(new_number);
const new_url1 = parts.join('/');
console.log(new_url1);
const url = 'url/inbox/g/{page_number}';
const new_number = '{new_page_number}';
const new_url2 = `${url.slice(0, url.lastIndexOf('/'))}/${new_number}`;
console.log(new_url2);
ありがとうございましたこの有益な答え –
は '{page_number} 'のリテラル文字列{{page_number}'ですか、それとも実際の数字ですか?また、あなたが 'url/inbox/g'を検索する必要があるとしたら、どこを探していますか?あなたがURLのすべての言及を見つけてそれらを置き換える必要があるより大きいテキストがあるか、それとも入力として得られるURLそのものですか? – vlaz
@vlaz実際の数値です。検索によって、私は 'replace'関数の最初のパラメータを意味します。ありがとうございます –
RegExを考えましたか? –