![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.2ベストアンサー
- 回答日時:
例えばこんな感じですか
var str = '|<a href=XXX>(YYY'
str = str.replace(/\|(?=.+?\()/g, "");
alert(str);
ただし、この例では '|' の後に '(' が出てくるかという判断しかしていないので、複数の '|' と '(' が一対一に対応していなくても '|' が削除されます。
また、'|' と '(' の間に一文字も無い場合は置換しないようになっています。'|' と '(' が引っ付いていても置換するには + を * に変えてください。
UKYさん、ありがとうございます。
>複数の '| ' と '(' が一対一に対応していなくても '| ' が削除されます。
そうなりました。
複数の '| ' と '('が一対一に対応している部分と、'| 'だけの部分が有り、
一対一に対応している部分のみの'| 'を削除したいのですが、難しいでしょうか。
No.3
- 回答日時:
一対一対応のみ置換するパターンだとこんな風になります。
// 左側を優先して削除
var str = '|AAA|<a href=XXX>(YYY';
str = str.replace(/\|(.+?\()/g, "$1");
alert(str);
// 右側を優先して削除
var str = '|AAA|<a href=XXX>(YYY';
str = str.replace(/\|((?:(?!\|).)+?\()/g, "$1");
alert(str);
優先順位の違いに応じて二パターン作りましたが、たぶん質問者さんが望んでいるのは後者の方かと思います。
ちょっと正規表現が複雑になってしまいました。もしかしたらもっとうまいやり方があるかもしれません。
UKYさん、お早うございます。
できました。ありがとうございます。
>// 右側を優先して削除
の方そのものです。
ご丁寧に教えていただいて、厚かましいですが、
正規表現について勉強するための
HP、書籍などご紹介いただけないものでしょうか。
この質問をする前にも正規表現について調べたのですが、見つけることができませんでした。
もし、できましたらよろしくお願いいたします。
No.1
- 回答日時:
これでどうでしょうか。
a="' \; \;| \; \;| \; \;<a href=・・・>\(・・・'";
b=a.match(/\| \; \;/g)!=null;
c=a.match(/\(/g)!=null;
if(b&&c){
d=a.replace(/\|/g,"");
alert(d);
}else{
alert(a);
}
お早うございます。
早速ありがとうございます。
「文字列の中に'| 'と、'('が有ったら、
'| 'のみを取り除いた文字列を作成する」
と、いう私の説明が悪かったです。
「文字列の中に'| 'と、'('で、文字列が囲まれていたら、囲まれている文字列と'('はそのままで、'| 'のみを取り除いた文字列を作成する」
と、いうように説明しなけれなりませんでした。
つまり、教えていただいた方法ですと、
'| 'と、'('で、文字列が囲まれていなくても'| 'が全て削除されてしまいました。
説明が悪くて申し訳ありませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- WordPress(ワードプレス) ワードプレスで、左寄せ画像と文字を横並びにせず、画像の下に文字を表示される方法を教えてください 1 2022/04/24 11:06
- JavaScript htmlとcssで分数を表示後、分数の右側に文書を書きたい 1 2022/04/28 10:09
- WordPress(ワードプレス) WordPressの記事の途中に差し込む 1 2023/06/29 11:18
- HTML・CSS 分数が正常に表示されない。 6 2022/05/09 18:53
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Visual Basic(VBA) Excel VBAでAA(BBB) → BBB.AA に置換したい 2 2022/10/30 13:59
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ジャバスプリクトについて
-
google apps scriptの終了のさせ方
-
flickrのAPIを用い、任意の写真...
-
【競プロ】アルゴリズムの仕組...
-
googleスプレッドシートのApps ...
-
setTimeoutによる繰り返しが途...
-
なぜmatchメソッドがエラーにな...
-
ジェネレーターの作り方
-
C# 演算 奇数と偶数 表現の仕方
-
シンプルなweb版スタンプラリー...
-
alert表示で計算結果がうまく表...
-
文字列の置換
-
【javascript】ハッシュのキー...
-
最近Javascriptの勉強を始めた...
-
javascriptでiframeのURL変更は?
-
Ajax LightBoxを使ったサムネイ...
-
カラー表記の足し算プログラム
-
Google Apps Script で添付ファ...
-
javascriptを用いて作成された...
-
Perlの配列をJavaScriptに渡せ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
なぜmatchメソッドがエラーにな...
-
GASでundefinedエラーが出ます
-
ジェネレーターの作り方
-
html javascript リンク先アド...
-
gas スプレッドシートがアクテ...
-
翌月を取得するGASが分かりません
-
ASP.NETのコントロールの値をJa...
-
C# 演算 奇数と偶数 表現の仕方
-
javascriptでiframeのURL変更は?
-
C#で、ContextMenuStripに動的...
-
ASP.NET MVCでObjectをjsに渡す
-
javascriptでテーブルに追加し...
-
1日1回引けるJavaScriptおみく...
-
JavaScriptを使って毎日決まっ...
-
googleスプレッドシートのApps ...
-
JavaScriptで文字列の特定文字...
-
アクセス時からのカウントダウ...
-
ローカルにあるファイルを検索...
おすすめ情報