【问题标题】:How to compare a string in nodejs?如何比较nodejs中的字符串?
【发布时间】:2020-09-16 03:47:29
【问题描述】:

我有一个字符串,如下所示。

let text = "Hi {#var#}, ghkk{#Var#}"

但是从用户那里我们会得到如下的值。

let text2 = "嗨 xya,ghkkhoww"

最多可以有 10 个变量。我想比较 text 和 text2 并代替 {#var},如果存在某个值,则字符串相等,否则不相等。谁能告诉我如何比较这个?

【问题讨论】:

  • 我认为获得像 Mustache 或 EJS 这样的现有模板引擎的最佳方式。可以在此处找到简短的引擎列表 - tutorialsteacher.com/nodejs/template-engines-for-nodejs
  • @vasylmoskalov 您好,感谢您的回复,我们有什么办法可以使用正则表达式吗?
  • 是的。但我认为使用现有的模板引擎将花费更少的时间和资源。但是,无论如何,如果您想构建自己的,请尝试查看这篇文章krasimirtsonev.com/blog/article/…
  • 看起来我不清楚你到底想做什么。我是否需要用字符串中的值填充变量? IE。你有一个字符串“大家好!”和模板“嗨 {#user#}!”你需要用值'all'填充变量用户吗?
  • @VasylMoskalov 你有一个字符串“大家好!”和模板“嗨 {#user#}!”我需要比较这两个并返回有效或无效的响应..

标签: node.js regex string


【解决方案1】:

这里有几种方法:

  • 字符串(var1).includes(var2) |判断 var1 是否包含 var2

  • String(var1).indexOf(var2) |如果 var2 在 var1 中,则返回索引

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

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

  • String(var1).compareTo(var3) |这些字符串是否具有可比性

  • var == var2 |它们是否相等注意不要使用 === 这被称为等价运算符。

如您所见,它完全依赖于用例。这是 CS 中的标准问题,但常用的经验法则是使用 ==、indexOf 和 equals。 SideBar 我猜你可以使用正则表达式,通常称为 Regex。它非常强大,学习曲线很小,但是,您很容易弄错表达式并导致极端情况,即您的代码让场景潜入,如果您不知道要寻找什么或它如何影响,可能很难找到你的代码。

资源:

【讨论】:

  • 你给的第一个链接其实是Java——作者把Java和JavaScript搞混了。
  • 资源被移除,但概念还是一样
猜你喜欢
  • 2020-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多