すみません、教えてください。
以下の文字列があります。
TypeScript
1value = "abc";
この文字列を以下のように置換したいです。
【求める実行結果】内容:aは<ab>で囲む、bは<bc>で囲む、cは<ca>で囲む
<ab>a<ab><bc>b<bc><ca>c<ca>
自分でやったことは以下のコードでreplace置換を繰り返したんですが、当然1回目の変換結果含めて2回目が走ってしまいうまく行きません..。
TypeScript
1import { Component } from "@angular/core"; 2 3@Component({ 4 selector: "my-app", 5 templateUrl: "./app.component.html", 6 styleUrls: ["./app.component.css"] 7}) 8export class AppComponent { 9 result: string; 10 value = "abc"; 11 12 ngOnInit() { 13 const query1 = "a"; 14 const query2 = "b"; 15 const query3 = "c"; 16 17 // 1回目の変換 18 const result1 = this.value.replace(new RegExp(query1, "gi"), match => { 19 return "<ab>" + match + "<ab>"; 20 }); 21 // 2回目の変換 22 const result2 = result1.replace(new RegExp(query2, "gi"), match => { 23 return "<bc>" + match + "<bc>"; 24 }); 25 // 3回目の変換 26 const result3 = result2.replace(new RegExp(query3, "gi"), match => { 27 return "<ca>" + match + "<ca>"; 28 }); 29 this.result = result3; 30 } 31}
どなたか良い方法あればご教示の程よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/18 06:46
2021/02/19 05:26