当前位置: 首页 > 知识库问答 >
问题:

替换字符串中的多个单词[重复]

郗福
2023-03-14

我想替换字符串中的一些单词。我有可行的解决方案,但我认为这不是最好的。你能帮我做些更有效的事情吗

代码是avaiable在这里:https://codepen.io/yasAFE/pen/BYOVme

function main() {
      var input = document.getElementById("input");
      var output = input.value.replace(/red/gi, "blue") // how to write this but 
                          .replace(/bad/gi, "good")  // with less code?
                          .replace(/girl/gi, "boy")
                          .replace(/gold/gi, "metal"); 
  input.value = output;
}
<textarea id="input" spellcheck="false" autocorrect="off"></textarea>
<button class="button" onclick="main()">Transform my text</button>

共有1个答案

尚俊楠
2023-03-14

您可以使用这样的函数:

var mapObj = {
     cat:"dog",
     dog:"goat",
     goat:"cat"
};

var re = new RegExp(Object.keys(mapObj).join("|"),"gi");
str = str.replace(re, function(matched){
  return mapObj[matched];
});
 类似资料:
  • 大家好,我不需要答案,但我想知道并找出我做错了什么。作为一名初学者,我的学习任务非常“简单”。我需要创建一个字符串,在这个字符串中,我需要用其他单词替换一些单词,而不需要使用for循环:(我也想打印它,但我不知道该把Console.WriteLine放在哪里。谷歌搜索1小时不起作用,或者问了一个同事。 /*练习:与stringBuilder一起使用*猫变成小猫*狗变成小狗*老鼠变成小鼠*单词必须替

  • 在Pandas df中,我有大约130万个字符串(代表用户向IT帮助台发送邮件时的需求)。我还有一系列29813个名称,我想从这些字符串中删除,这样我只剩下描述问题的单词。这里有一个数据的小例子-它可以工作,但需要太长时间。我正在寻找一种更有效的方法来实现这一结果: 输入: 输出: 我已经努力寻找答案很长一段时间了:如果我因为缺乏经验而错过了某个地方,请温柔地告诉我! 非常感谢:)

  • 问题内容: 我正在使用一个喜欢: 我使用的是哪里。这行代码对我不起作用。我想知道自己在做什么错? 问题答案: 尽管看起来可能存在一些语法问题,但是代码看起来或多或少还可以。这是一个工作示例:

  • 我需要在java中找到一种类似的巧妙方法来替换多个字符串,就像在php中使用str_replace一样。 我想要一个字符串,然后返回一个字符串,其中数字1到10被替换为这些数字的单词。

  • 问题内容: 问题是需要替换给定字符串中的单个字符,同时保留字符串中的其他字符。 代码是: 问题答案: 您几乎做到了,只需在循环中添加一个计数器即可:

  • 我是新的java和卡在如何返回已输入的整个地址,因为我目前只返回第一个字。下面是代码: 如果有任何帮助,我将不胜感激。