Node.js 如何比较nodejs中的字符串?

Node.js 如何比较nodejs中的字符串?,node.js,regex,string,Node.js,Regex,String,我有一个字符串,它将在DB中,如下所示 让text=“Hi{{var},ghkk{{var}” 但是从用户那里我们可以得到如下值 let text2=“嗨,xya,ghkkhoww” 它最多可以是10个变量。我想比较text和text2,并替换{#var},如果存在某个值,则字符串相等,否则不相等。有谁能给我一个比较的方法吗?这里有几种方法: 字符串(var1).includes(var2)|确定var1是否包括var2 字符串(var1).indexOf(var2)|如果var1中有var

我有一个字符串,它将在DB中,如下所示

让text=“Hi{{var},ghkk{{var}”

但是从用户那里我们可以得到如下值

let text2=“嗨,xya,ghkkhoww”


它最多可以是10个变量。我想比较text和text2,并替换{#var},如果存在某个值,则字符串相等,否则不相等。有谁能给我一个比较的方法吗?

这里有几种方法:

  • 字符串(var1).includes(var2)|确定var1是否包括var2

  • 字符串(var1).indexOf(var2)|如果var1中有var2,则返回索引

  • 字符串(var1).search(var2)|在var1中搜索var2(最适合段落或句子)

  • 字符串(var1).equals(var2)|两个字符串是否彼此相等

  • 字符串(var1).compareTo(var3)|这些字符串可比较吗

  • var==var2 |它们是否相等注意不要使用===这就是所谓的等价运算符

正如您所看到的,它完全依赖于用例。这是CS中的一个标准问题,但常用的经验法则是使用==、indexOf和equals侧边栏我想您可以使用正则表达式,通常称为Regex。它非常强大,具有很小的学习曲线,但是,您可以很容易地将表达式弄错,并导致出现一种边缘情况,即您的代码让场景潜入其中,如果您不知道您在寻找什么,或者它如何影响您的代码,则很难找到这些场景

资源:


我认为获得现有模板引擎(如Mustach或EJS)的最佳方法是。可以在这里找到引擎的简要列表-@vasylmoskalov Hi感谢您的回复,我们有没有办法使用正则表达式来完成它?是的。但是我认为使用现有的模板引擎将花费更少的时间和资源。但是,无论如何,如果你想建立自己的,那么试着看看这篇文章,我似乎不清楚你到底想做什么。您需要用字符串中的值填充变量,这对吗?例如,你有一个字符串“大家好!”和模板“Hi{#user#}!”并且您需要用值'all'填充变量user?@VasylMoskalov您有一个字符串'Hi all!'和模板“Hi{{#user}!”我需要比较这两个,并返回一个有效或无效的响应。。