Azure ARM:删除无效字符

问题描述 投票:0回答:1

我正在寻找一种简单的方法来替换字符串中的所有非字母数字字符(只是试图阻止用户输入资源的无效字符)。

我的工作代码如下,但我认为它非常混乱,因为我必须为我想删除的每个字符创建一个新变量。

{
  "parameters": {
    "userString": {
    "type": "string"
    }
  },
  "variables": {
    "removeChar1": "[replace(parameters('userString'), '-', '')]",
    "removeChar2": "[replace(variables('removeChar1'), ' ', '')]",
    "removeChar3": "[replace(variables('removeChar2'), '^', '')]",
    "cleanString": "[replace(variables('removeChar3'), ')', '')]"
  },
  "resources": [
  ],
  "outputs": {
    "cleanStringOutput": {
      "type": "string",
      "value": "[variables('cleanString')]"
    }
  }
}

有一个更好的方法吗?

谢谢!

json azure azure-resource-manager arm-template
1个回答
2
投票

不,替换功能只进行精确搜索,所以这是唯一的方法。 “替代方案”包括:在你的模板中创建一个完全符合这个功能的函数,但你可以调用你的函数(看起来更干净+可重用),创建一个azure函数并调用该函数,函数的输出将是一个arm模板输出字符串替换了所有字符。

https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-authoring-templates#functions

© www.soinside.com 2019 - 2024. All rights reserved.