我需要了解并找到一種方法來替換字串中占位符的出現。我正在為 Magic, The Gathering tcg 游戲開發應用程式。卡片的文字包含描述和一些符號
讓我用一個例子更好地解釋:
一些可能的字串是“{W}{B}, {T}:防止目標生物本回合將造成的所有戰斗傷害。” “閃回 {2}{R}(你可以從你的墳墓場施放這張牌,支付它的閃回費用。然后放逐它”
這些字串必須成為 Angular 然后可以放入 DOM 的 html 文本。花括號之間的每個字母或數字都代表一個要列印的不同符號。可能的符號和它們的位置可能會有很大差異。文字和位置是因為每張牌都不同,而符號則是因為有大約 100 種可能的符號。
從我正在使用的免費
更新
我找到了解決方案:
this._symbolService.symbology.data.forEach((item: CardSymbol) => {
const regEx = new RegExp(item.symbol, 'gm');
const replacement = `<img src="${item.svg_uri}" />`;
this.oracleText = this.oracleText.replace(regEx, replacement);
});
這幾乎沒問題,但是當符號字串為“{0}”或任何其他數字時它會中斷。有沒有辦法告訴 ts 匹配確切的字串“{0}”(或任何其他數字)?
我希望我能解釋我需要什么。
uj5u.com熱心網友回復:
{在Regex中有特殊含義,所以需要用反斜杠轉義。這應該做你想要的:
this._symbolService.symbology.data.forEach((item: CardSymbol) => {
const regEx = new RegExp('\\' item.symbol, 'gm');
const replacement = `<img src="${item.svg_uri}" />`;
this.oracleText = this.oracleText.replace(regEx, replacement);
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/490494.html
標籤:javascript 有角度的 细绳 解析
下一篇:行矩陣并在行矩陣中移動
