正規表現のグループ化を使用して、文字列の変換をしたいと思っているのですが、方法がわからないため質問させていただきました。
やりたいこと:
文字列aaaとbbbの間にある文字Cを全てZに変換する
ただし、文字列aaaは文頭、bbbは文末で文字Cが含まれないこともある
例:
aaaCkCogfkjhCgoCbbb => 変換 => aaaZkZogfkjhZgoZbbb
1文字だけであれば
(aaa.*)C(.*bbb) で $1Z$2と思うのですがaaaとbbb間に複数Cがある場合に判別する方法がわかりません。
javascriptでの変換を考えています。
よろしくお願いいたします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
なんで毎度毎度投稿してから気づくのだろう?
(最速だべ?)
let str ='aaaCkCogfkjhCgoCbbb';
let rst;
if (/^aaa.*bbb$/.test (str))
rst = str.split (/C/).join ('Z')
console.log (rst);
No.3
- 回答日時:
深く試していないのだけれど
(効率は悪いと思う)
let str ='aaaCkCogfkjhCgoCbbb';
let reg = /^(aaa[^C]*?)C(?=(.*bbb)$)/;
let ary = [ ];
while (ary = reg.exec (str))
str = ary[1] + 'Z' + ary[2];
console.log (str);
No.2
- 回答日時:
もしくは
var str="hogehogeaaaCkCogfkjhCgoCbbbfugafuga";
var str=str.replace(/^(.*?aaa)(.+)(bbb.*)$/m,function(){
var r=arguments;
return r[1]+r[2].replace(/C/g,"Z")+r[3];
});
console.log(str);
No.1
- 回答日時:
結局は2段階でやるしかないと思います
var str="hogehogeaaaCkCogfkjhCgoCbbbfugafuga";
var str=str.replace(/^(.*?aaa)(.+)(bbb.*)$/m,function(r0,r1,r2,r3){
return r1+r2.replace(/C/g,"Z")+r3;
});
console.log(str);
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- Visual Basic(VBA) Excel VBAでAA(BBB) → BBB.AA に置換したい 2 2022/10/30 13:59
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- Visual Basic(VBA) 【VBA】特定の文字で改行(次の行)に行きたい。 3 2022/04/11 17:20
- その他(プログラミング・Web制作) 変換のプログラムを教えてください。 6 2023/07/01 09:57
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- その他(コンピューター・テクノロジー) 正規表現の置換で一部の文字列をそのまま残したい 2 2022/05/03 19:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
追加ボタンを押した際に ok ボ...
-
フォームが空欄の時にフォーム...
-
GASに文字列として関数を入れる...
-
特定の文字列を複数抜き出した...
-
初心者です。gulpでコンパイル...
-
階層別の組織図の自動作成について
-
①入力フォーム→②確認表示画面→③...
-
Q&A掲示板の入力フォームに文字...
-
ボタンを押したあとに画像を表...
-
コードレビューをお願いします。
-
React hooksが値を返して配列変...
-
フロントエンドフレームワーク...
-
画面遷移を行わずに同一ページ...
-
ローディングアニメーションの...
-
jQueryで同じクラス名のものを...
-
ジャバスクリプトについて。
-
プログラムについて。
-
メールフォームの日付入力フォ...
-
二次元配列を使って順位をだす...
-
iOSのみダブルタップが必要
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
二次元配列を使って順位をだす...
-
プログラムについて。
-
Q&A掲示板の入力フォームに文字...
-
メールフォームの日付入力フォ...
-
iOSのみダブルタップが必要
-
ジャバスクリプトについて。
-
画面遷移を行わずに同一ページ...
-
特定の文字列を複数抜き出した...
-
指定時間になったら、WEBサイト...
-
追加ボタンを押した際に ok ボ...
-
①入力フォーム→②確認表示画面→③...
-
スマホ上で、左右スワイプで次...
-
読み込んだQRコードをフォーム...
-
フロントエンドフレームワーク...
-
React hooksが値を返して配列変...
-
GASでGoogleフォームの自動返信...
-
初心者です。gulpでコンパイル...
-
階層別の組織図の自動作成について
-
HTMLで作った時報アプリが動き...
-
jQueryで同じクラス名のものを...
おすすめ情報