【问题标题】:Check if string contains environment variable检查字符串是否包含环境变量
【发布时间】:2016-10-03 14:15:11
【问题描述】:

在 .Net 中,我们有方法 Environment.ExpandEnvironmentVariables,它允许我们将提供的字符串包含的所有环境变量替换为其值。

但是如果我只想检查一个字符串是否包含环境变量呢?

当然,我可以比较展开前后的字符串,但是有没有更优雅的方法呢?

【问题讨论】:

  • 我认为比较是你最好的也是唯一的选择。
  • 另外,您可以使用Environment.GetEnvironmentVariables 获取键值对列表(实际上是字典)并自己替换它们。但我不确定是否有一些可能难以覆盖的极端案例。

标签: c# environment-variables


【解决方案1】:

您可以创建一个扩展程序,对字符串进行 Regex 搜索

public static bool HasEnvironmentVariable(this string path)
{
    Regex regex = new Regex(@"%[A-Za-z0-9\(\)]*%");
    Match match = regex.Match(path);

    return match.Success;
}

【讨论】:

    猜你喜欢
    • 2018-04-23
    • 2018-06-14
    • 2021-03-31
    • 1970-01-01
    • 2018-05-23
    • 1970-01-01
    • 2011-11-09
    • 2013-05-18
    • 2012-06-30
    相关资源
    最近更新 更多