質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

Q&A

解決済

1回答

339閲覧

urlの個数が可変な文字列の特定の末尾の文字列の削除。

tkshp

総合スコア174

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

0グッド

0クリップ

投稿2018/10/22 09:38

前提・実現したいこと

前回の質問では大変失礼いたしました。自分自身、質問したいことがまとまっていないまま質問してしまいました。
今回は、やりたいことを明確にし、質問させていただきます。

urlsの文字列には、任意のurlが任意の個数格納されます。
そして、各任意のurlの末尾には、「'」か「&quot」の文字列が付与されるか、もしくは付与されません。
このとき、urlの末尾に「'」か「&quot」の文字列があった場合は削除する処理をreplaceの正規表現で実装したいです。
ご教示お願い致します。

該当のソースコード

//urlsは次のような値を取り得る。 var urls = "http://wwww.sample.co.jp',http://www.sample2.co.jp""; urls = "http://wwww.sample.co.jp""; urls = "http://wwww.sample.co.jp',http://www.test.co.jp,http://wwww.sample2.co.jp"";
urls = "http://wwww.sample.co.jp',http://www.sample2.co.jp""; ならば、 urls = "http://wwww.sample.co.jp,http://www.sample2.co.jp" となるように、 urls = "http://wwww.sample.co.jp""; ならば、 urls = "http://wwww.sample.co.jp"; となるように、 urls = "http://wwww.sample.co.jp',http://www.test.co.jp",http://wwww.sample2.co.jp"; ならば、 urls = "http://wwww.sample.co.jp,http://www.test.co.jp,http://wwww.sample2.co.jp"; となるようなreplaceの正規表現を書く。

試したこと

これを試しましたが、これだと最後のURLのみ該当する末尾の文字列の削除となってしまいました。

urls = urls.replace(/(.*)(&(#39|quot);)/g, '$1');

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

「末尾」という指定があったのですが,の前が末尾だと定義してませんよね?
そのへんの仕様定義がはっきりしないと回答がぶれます。
仮に上記を前提に調整しました

javascript

1var urls = [ 2 "http://wwww.sample.co.jp',http://www.sample2.co.jp"", 3 "http://wwww.sample.co.jp"", 4 "http://wwww.sam'ple.co.jp',http://www.test.co.jp,http://wwww.sample2.co.jp"", 5 "http://wwww.sample.co.jp',http://www.sample2.co.jp"", 6 "http://wwww.sample.co.jp"", 7 "http://wwww.sample.co.jp',http://www.test.co.jp",http://wwww.sample2.co.jp", 8 ]; 9urls.forEach(function(url){ 10 url=url.replace(/&(#39|quot);(?=,|$)/g,""); 11 console.log(url); 12})

投稿2018/10/22 09:44

編集2018/10/22 09:51
yambejp

総合スコア114769

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tkshp

2018/10/22 09:59

ご回答ありがとうございます。 説明不足ですみません。 ,の前も末尾とみなすものでした。 ご回答いただけた(?=,|$)で末尾指定できたので、 url=url.replace(/&(#39|quot);(?=,|$)/g,""); で実装できました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問