首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用规则实现文本格式设置?

如何使用规则实现文本格式设置?
EN

Stack Overflow用户
提问于 2021-03-05 11:07:57
回答 1查看 55关注 0票数 1

让我从我们已经知道的开始。JS在中查找${ .}并在其中执行表达式,然后将返回的任何内容作为字符串放置。好的,这是内置功能:

代码语言:javascript
运行
复制
const name = "Dick Smith";

const str = `Hello, ${name}`; 

console.log(str); // Hello, Dick Smith

现在,在这个例子中,我将使用"“,假设我想找到每个()并做同样的事情,我如何实现它?那个magicFunction()应该是什么样的呢?EXP:

代码语言:javascript
运行
复制
const name "Dick Smith";

const str = magicFunction("Hello, (name)");

console.log(str); // Hello, Dick Smith

详细信息:

该魔术函数获得一个字符串作为参数,并返回另一个字符串。

代码语言:javascript
运行
复制
function magicFunction(str){
  // Does some magic
  return str;
}

Help

如果需要,可以使用eval()执行表达式。

注意:()中的可以是所有东西,甚至是像() => {}() => ("Hello")甚至(function foo(){...})()这样的函数表达式。总之,它可以是JS引擎能够理解和执行的所有东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-11 06:04:25

这是一个基本概念,只涵盖问题中提到的情况。您需要通过改进正则表达式将其扩展到您的确切需求。

代码语言:javascript
运行
复制
const magicFunction = (input) => {
  const regex = /(?:\([^\(\)]*\))/g;
  const matches = input.match(regex);

  matches.map(match => {
    console.log(`Match: ${match}`);
    console.log(`Expression: ${eval(match)}`);

    input = input.replace(match, eval(match));
  });

  document.write(input);
}

const name = "Dheemanth Bhat";
const skill = () => "JavaScript";
const age = 27;
const rep = 1749 + 25;
const str = magicFunction("name: (name), age: (age) skill: (skill) rep: (rep).");

注意事项:对正则表达式的解释可以找到这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66491466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档