私は最後の 'と'を残して残りのものを削除したいという文章があります。最後のJavaScript以外の特定の単語を削除しますか?
「ライオン、トラ、クマ、ゾウ」:
「ライオン、およびトラとクマ、ゾウ」、と私はにこれを有効にしたいと思います。
私はstr = str.replace(/and([^and]*)$/, '$1');
のような正規表現のパターンを使用しようとしましたが、これは明らかに機能しませんでした。ありがとう。
私は最後の 'と'を残して残りのものを削除したいという文章があります。最後のJavaScript以外の特定の単語を削除しますか?
「ライオン、トラ、クマ、ゾウ」:
「ライオン、およびトラとクマ、ゾウ」、と私はにこれを有効にしたいと思います。
私はstr = str.replace(/and([^and]*)$/, '$1');
のような正規表現のパターンを使用しようとしましたが、これは明らかに機能しませんでした。ありがとう。
使用this regex:
and (?=.*and)
and
一致するとスペースが続きます。 2つのスペース(?=.*and)
を持つ防ぐために、交換で除去されるので、スペースが一致しているが続くとこのコードを使用した場合、.*and
が続く場合にのみマッチします意味し、先読みです:
str = str.replace(/and (?=.*and)/g, '');
完璧!私はこの 'str = str.replace(/ \と(?=。* and)/ g、 '');'ありがとうございました。 – sarcastasaur
コードが機能しません。文字列ではなく正規表現リテラルを使用する必要があります。 – 4castle
肯定的な先読み(?=...)
を使用すると、現在の一致よりも先にand
が存在するかどうかを確認できます。また正規表現をg
でグローバルにする必要があります。
function removeAllButLastAnd(str) {
return str.replace(/and\s?(?=.*and)/g, '');
}
console.log(removeAllButLastAnd("Lions, and tigers, and bears, and elephants"));
var multipleAnd = "Lions, and tigers, and bears, and elephants";
var lastAndIndex = multipleAnd.lastIndexOf(' and');
var onlyLastAnd = multipleAnd.substring(0, lastAndIndex).replace(/ and/gi, '')+multipleAnd.substring(lastAndIndex);
console.log(onlyLastAnd);
答えを説明してください – Nikhil
あなたが望む単語に 'split'、最後のものを除くすべてのインスタンスで' join'を空にします。 – Marty
http://stackoverflow.com/questions/9694930/remove-all-occurrences-except-last – Marty