查找和替换打字稿角度

Posted

技术标签:

【中文标题】查找和替换打字稿角度【英文标题】:find and replace typescript angular 【发布时间】:2021-06-14 11:22:50 【问题描述】:

我使用一个下拉菜单,当一个值被选中时,它会作为内容编辑器上的一个单词出现。我正在尝试从内容编辑器中查找和替换单词。我可以替换,但在某些情况下它不起作用。

我正在尝试将 city 替换为 Newyork 这个名称 例如,如果我在控制台日志中选择城市,则从下拉值中内容编辑器内容将其显示为纽约

所以一开始它可以工作,但如果我选择其他下拉值,当我再次选择城市时它就不起作用

例如尝试选择 City first Name second 并再次选择 City,您将看到第二次选择 city 时,城市的控制台日志值没有更改为 Newyork

知道的请帮忙

changeValue() 是函数名

Stackblitz:https://stackblitz.com/edit/angular-summernote-demo-ej4xpg?file=src%2Fapp%2Fapp.component.ts

【问题讨论】:

在示例中如果选择了城市,城市只在编辑器中显示它不是纽约:( 您好,先生。请检查控制台日志。我说的是控制台日志中的变化。 请检查我的答案,如果它不起作用,请告诉我 【参考方案1】:

我做了一些事情(但不确定她为什么要使用正则表达式)现在它可以按预期工作。

changeValue(ev) 
    const regex = /(<\/p>)$/gm;
    if (regex.test(this.textValue)) 
      this.textValue = this.textValue.replace(regex, "");
      this.textValue += ` $ev.value</p>`;
     else 
      this.textValue += ` $ev.value`;
    
    let cleanText = this.textValue.replace(/<\/?[^>]+(>|$)/g, "");
    let abc = cleanText.replace(/&nbsp;/g, "");

    let final = abc.replace("City", "Newyork");
    this.textValue = final;
    console.log("textValue", final);
  

https://stackblitz.com/edit/angular-summernote-demo-tauve8?file=src%2Fapp%2Fapp.component.ts

【讨论】:

它不工作。只有第一次出现的城市正在变成纽约。尝试复制粘贴值 复制粘贴此“我邀请您到城市。Sm 先生姓名请到城市”并选择一个下拉值,您将看到只有第一次发生的城市更改为纽约 那我不清楚要求。你能详细说明一下吗? 我在这里尝试做邮件合并选项。所以我试图在编辑器中替换占位符值,例如 City to Newyork 并检查控制台日志。如果我复制粘贴这个“我邀请你到城市。Sm 先生的名字请来城市”并选择一个下拉值,你会看到只有第一次出现的城市更改为 newyork,其余的都没有 我只想在控制台而不是在编辑器中更改城市,因为只有在传递编辑器内容时我才会更改它

以上是关于查找和替换打字稿角度的主要内容,如果未能解决你的问题,请参考以下文章

带有打字稿的角度材料设计

将节点模块导入角度打字稿/角度cli的正确方法是啥

角度是不是已被打字稿取代? [关闭]

如何在firebase云函数和角度之间共享打字稿类

如何在具有角度注入参数的打字稿中创建新对象

角度打字稿页面上的数组为空