【问题标题】: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

【问题讨论】:

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

标签: javascript html angular typescript summernote


【解决方案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,其余的都没有
  • 我只想在控制台而不是在编辑器中更改城市,因为只有在传递编辑器内容时我才会更改它
猜你喜欢
  • 2013-08-16
  • 1970-01-01
  • 2015-08-13
  • 2016-02-03
  • 2019-11-12
  • 1970-01-01
  • 2015-06-23
  • 2015-09-29
  • 2018-11-11
相关资源
最近更新 更多