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

正则表达式用于将文本中的单词替换为另一个单词[重复]

孙莫希
2023-03-14

我有一个文本字符串,我想用另一个使用regexp的文本替换它

指用特定单词替换的每个单词

input= Jounal Page Year DOI Roche-Link

我的预期产出

output = Publication Title Pagination Publication Date Digital Object Identifier Roche Link

用出版物标题替换期刊

分页替换页面

年份改为出版日期

DOI替换为数字对象标识符

罗氏链环替换为罗氏链环

  • 我的正则表达式=\b(期刊|年份|页面| DOI |罗氏链接)\b

我的regexp检测所有特定的单词,但我没有找到使用$将每个单词替换为特定单词的解决方案

output = input.replace(/\b(Journal|Year|Page|DOI|Roche-Link)\b/g, (Publication Title)+$1, (Pagination)+$2,(Publication Date)+$3,(Digital Object Identifier)+$4,(Roche Link)+$5)

共有1个答案

益阳平
2023-03-14

你可以这样做:

var dict = {
  "Journal": "Publication Title",
  "Page":  "Pagination",
  "Year":  "Publication Date",
  "DOI": "Digital Object Identifier",
  "Roche-Link":  "Roche Link"
};

var regExp = new RegExp("\\b(" + Object.keys(dict).join("|") + ")\\b", "g");

var translated = "Journal Page Year DOI Roche-Link".replace(regExp, function(match) {
		return dict[match];
});

console.log(translated);
 类似资料:
  • 我正在使用以替换子字符串 我现在面临的问题是,只有在字符串替换不支持的情况下,我才想要替换整个单词。< br >因为我必须替换非常非常大的字符串,可能以GB为单位。与字符串替换相比,正则表达式非常慢。< br >例如:text: - 正则表达式将时间缩短了近 100 倍(https://medium.com/codezillas/golang-replace-vs-regexp-de4e48482

  • 假设我有以下字符串 在所有应用程序上使用regex,是否有可能 i、 e.替换包含单词的模式的正则表达式,例如,从上面的被

  • 问题内容: 我们知道会匹配单词“ a ”或“ the ”, 我想构建一个正则表达式来匹配像这样的模式 的/一个/一个原因/原因 这意味着我要匹配包含3个单词的字符串: 的第一个单词应为“ a ”,“ the ”或“ one ” 第二个单词应该是“ 原因 ”或“ 原因 ” 的第三个字应为“ 的 ”或“ 的 ” 正则表达式无济于事。 我怎样才能做到这一点?顺便说一句,我使用python。谢谢。 问题答

  • 问题内容: 我将如何拆分单词: 放入数组,这样我就可以得到: 与? 我很累,但这只是整个词 问题答案: 您还可以用作: 说明:

  • 如果我有一个字符串“word3 word2 word3 word4 word5 word3 word7 word8 word9 word10” 我想找到所有的“word3”,使其在“word5”的3个单词之内,我将得到与“word3”第二次和第三次出现的匹配 我会使用什么正则表达式或逻辑?我有两种方法,但它们对我来说效率太低了。

  • 问题内容: 有没有办法替换放置在HTML正文中的table元素内的普通文本? 喜欢用“ hi”代替“ hello”吗? 请仅使用不带 jQuery的* JavaScript 。 * 问题答案: 要用另一个字符串替换HTML中的字符串,请使用innerHTML的replace 请注意,这将替换整个正文的第一个实例,包括HTML代码中的任何实例(例如,类名等。),因此请谨慎使用- 为了获得更好的结果,